繁体   English   中英

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

[英]'aidl is missing' when trying to migrate a project created with eclipse to Android Studio

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

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

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

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

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

gradlew compileDebugJava --stacktrace

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

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

  • 出了什么问题:任务':app:compileDebugAidl'的执行失败。

    艾德尔不见了

  • 尝试:
    使用--info或--debug选项运行以获取更多日志输出。

  • 异常是:org.gradle.api.tasks.TaskExecutionException:任务':app:compileDebugAidl'的执行失败。 在org.org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:6 9)在org.org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)在org。在org.grad.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter .java:35)在org.org.grad.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)在api。 org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.j ava:42)上的internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)在org.gradle.api.internal.tasks org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)的.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:305)处的xecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43),org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor $ TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.executeTask(AbstractTaskPlanExecutor.exe) )在org.gradle.execution上的org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor $ TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)上的org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor $ TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.jav a:63) org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)的org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)的.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23)在org.gradle.e上的org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)在org.gradle.execution.DefaultBuildExecuter.access $ 200(DefaultBuildExecuter.java:23)在org.gradle.e 在org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)在org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)在org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)在org.xecution.DefaultBuildExecuter $ 2.proceed(DefaultBuildExecuter.java:68)在org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)处的gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)在org.org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106) org.gradle.launcher.exec.InProcessBuildActionExecuter $ DefaultBuildController.run(InProcessBuildActionExecuter.java:80)上的.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)在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 org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:51)位于org.gradle.internal.Actions $ RunnableActionAdapter.execute(Actions.java)处的.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)的171。在org.gradle.launcher.cli.CommandLineActionFactory $ WithLogging.execute(CommandLineActionFactory。 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.run(ProcessBootstrap.java:35)上的.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)在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 $ 0.call上的com.android.builder.core.AndroidBuilder.compileAllAidlFiles(AndroidBuilder.java:960)缺少aidl (未知来源)com.android.build.gradle.tasks.AidlCompile.compileAllFiles(AidlCompile.groovy:118)在com.android.build.gradle.tasks.AidlComp com.android.build.gradle.tasks.AidlCompile $ ile.this $ 6 $ compileAllFiles(AidlCompile.groovy)com.android.build.gradle.tasks.AidlCompile.doFullTask​​Action(AidlCompile)的$ 6 $ compileAllFiles.callCurrent(Unknown Source) com.android.build.gradle.internal.tasks.IncrementalTask​​.taskAction(IncrementalTask​​.groovy:64)处的com.android.build.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)处的.groovy:168)。 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,请按照以下步骤操作

  1. 通过选择“文件”>“设置”打开“设置”窗口。

  2. 选择“外观和行为>系统设置>更新”面板。

  3. 在“更新”面板上,选择选项“自动检查以下项目的更新:金丝雀香奈儿”。

  4. 在“更新”面板上,选择“立即检查”以检查最新的Canary版本。

  5. 出现提示时,下载并安装内部版本。

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

在此处输入图片说明

只需更改构建工具的版本 ,此问题就意味着gradle无法使用特定的构建工具来构建项目。

如果剂量工作降级到稳定版本,我更喜欢将更新生成工具更新为最新的稳定版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM