java - 尝试将使用eclipse创建的项目迁移到Android Studio时出现“aidl丢失”

标签 java android android-studio

大约2年前,我在Eclipse中创建了一个Android App项目。它运行良好,甚至已经将其部署在我的手机上。

现在,我想继续进行研究,建议使用Android Studio。

我下载了它,并从Android Studio创建了一个新的空项目。然后添加我的文件并尝试构建该项目。

我还不熟悉诸如Graple之类的所有新事物,我只是在网上稍加了解一下。

构建时,出现以下错误,我们将不胜感激。


  gradlew compileDebugJava --stacktrace


:app:preBuild截止日期
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild建立到最新
:app:prepareComAndroidSupportAppcompatV72220Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42220Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl失败

失败:构建失败,发生异常。


什么地方出了错:
任务':app:compileDebugAidl'的执行失败。


  艾德尔不见了

尝试:
使用--info或--debug选项运行以获取更多日志输出。
例外是:
org.gradle.api.tasks.TaskExecutionException:任务':app:compileDebugAidl'的执行失败。
    在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:6
9)
    在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
    在org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter
.java:35)
    在org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
    在org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    在org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.j
ava:42)
    在org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52

    在org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
    在org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43

    在org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:305)
    在org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor $ TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.jav
a:79)
    在org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor $ TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.jav
a:63)
    在org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor $ TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
    在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23)
    在org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)
    在org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
    在org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
    在org.gradle.execution.DefaultBuildExecuter.access $ 200(DefaultBuildExecuter.java:23)
    在org.gradle.execution.DefaultBuildExecuter $ 2.proceed(DefaultBuildExecuter.java:68)
    在org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
    在org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
    在org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)
    在org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)
    在org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)
    在org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
    在org.gradle.launcher.exec.InProcessBuildActionExecuter $ DefaultBuildController.run(InProcessBuildActionExecuter.java:
80)
    在org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
    在org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
    在org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:36)
    在org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
    在org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:51)
    在org.gradle.internal.Actions $ RunnableActionAdapter.execute(Actions.java:171)
    在org.gradle.launcher.cli.CommandLineActionFactory $ ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
    在org.gradle.launcher.cli.CommandLineActionFactory $ ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
    在org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
    在org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
    在org.gradle.launcher.cli.CommandLineActionFactory $ WithLogging.execute(CommandLineActionFactory.java:206)
    在org.gradle.launcher.cli.CommandLineActionFactory $ WithLogging.execute(CommandLineActionFactory.java:169)
    在org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
    在org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
    在org.gradle.launcher.Main.doAction(Main.java:33)
    在org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
    在org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
    在org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
    在org.gradle.launcher.GradleMain.main(GradleMain.java:23)
    在org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:33)
    在org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:130)
    在org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:48)
引起原因:java.lang.IllegalStateException:缺少辅助语言
    在com.android.builder.core.AndroidBuilder.compileAllAidlFiles(AndroidBuilder.java:960)
    在com.android.builder.core.AndroidBuilder $ compileAllAidlFiles $ 0.call(未知源)
    在com.android.build.gradle.tasks.AidlCompile.compileAllFiles(AidlCompile.groovy:118)
    在com.android.build.gradle.tasks.AidlCompile.this $ 6 $ compileAllFiles(AidlCompile.groovy)
    com.android.build.gradle.tasks.AidlCompile $ this $ 6 $ compileAllFiles.callCurrent(未知来源)
    在com.android.build.gradle.tasks.AidlCompile.doFullTask​​Action(AidlCompile.groovy:168)
    在com.android.build.gradle.internal.tasks.IncrementalTask​​.taskAction(IncrementalTask​​.groovy:64)
    在org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
    在org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ IncrementalTask​​Action.doExecute(Annotat
ionProcessingTaskFactory.java:235)
    在org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory $ StandardTaskAction.execute(AnnotationPr
ocessingTaskFactory.java:211)
    ...更多47


建立失败

最佳答案

就我而言,我使用Android Studio 1.2.1.1下载了Android M和Android 5.1.1的版本22,但是当我尝试做Hello World时,同样的错误向我显示

因此解决方案是在应用程序中右击,如下图所示,然后选择“打开模块设置”



那么您就有2个选择。我使用的最新版本都更改了。

将SDK版本编译为API 21 Lollipop



最后清理项目并构建

更新这是我的build.gradle与您的build.gradle进行比较。

应用插件:“ com.android.application”

android {
    compileSdkVersion 21
    buildToolsVersion '21.1.2'

    defaultConfig {
        applicationId "com.android.bmi"
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.2.0'
}


更新

要获取Android Studio 1.3,请按照以下步骤操作


通过选择“文件”>“设置”打开“设置”窗口。
选择“外观和行为>系统设置>更新”面板。
在“更新”面板上,选择“自动检查更新”选项
代表:金丝雀(Chanel)。
在“更新”面板上,选择“立即检查”以检查最新的
金丝雀建立。
出现提示时,下载并安装内部版本。


然后,您将获得类似的内容,将Androud Studio更新到1.3,并可以测试Android M

关于java - 尝试将使用eclipse创建的项目迁移到Android Studio时出现“aidl丢失”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30541265/

相关文章:

Android Studio 4.1.1-MacOS BigSur - 全屏卡住问题

java - 无法分配ServletContext spring 3

java - 分布式3D渲染

android - 从Maven到Gradle

android - 未找到默认 Activity - Android Studio 3.3 中的错误

ADB 无法识别 Android 设备,USB Debug 闪烁(Mi 11 Lite 5G)

java - JTable,通过鼠标点击在具体单元格中动态添加标签

java - 方法中无法识别 JSoup 导入

android - 类型不匹配 : inferred type is FragmentActivity? 但上下文是预期的

android - BroadcastReceiver onReceive() 竞争条件/死锁