2013-08-31 82 views
3

本周我试图将一些项目迁移到Android Studio,并且我一直在碰到一些障碍。我最后的尝试涉及使用Eclipse ADT w /插件版本22.0.5v201307292155-757759创建简单的Hello World Android项目。我创建了这个项目,目标是Android 4.2版本,最低版本为SDK 2.3,并使用4.3构建。我对AVD进行了一次快速的构建/运行测试,效果很好。然后,我按照迁移文档中的说明导出项目并为Android Studio生成我的Gradle构建文件。当我尝试使用捆绑gradle分发(1.7)导入到Android Studio 0.2.6 Build#AI-130.795381中时,我在idea.log中收到错误:“原因:未能找到目标android-18”与stacktrace:迁移到Android Studio

2013-08-31 16:04:31,465 [ 517146] INFO - ject.ProjectImportErrorHandler - Failed to import Gradle project at '/Users/clifton/workspace/MyOtherLilAndroid' 
org.gradle.tooling.BuildException: Could not fetch model of type 'AndroidProject' using Gradle distribution 'http://services.gradle.org/distributions/gradle-1.6-bin.zip'. 
    at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:55) 
    at org.gradle.tooling.internal.consumer.async.DefaultAsyncConnection$2.run(DefaultAsyncConnection.java:71) 

当我尝试使用Gradle Wrapper(推荐)时出现错误:无法使用Gradle分配'http://services.gradle.org/distributions/gradle-1.6-bin.zip'执行构建。 构建文件'/Users/clifton/workspace/MyOtherLilAndroid/build.gradle'line:9 评估根项目'MyOtherLilAndroid'时发生问题。 评估根项目“MyOtherLilAndroid”时发生问题。 未找到SDK位置。在local.properties文件中或使用ANDROID_HOME环境变量定义sdk.dir的位置。

与idea.log以下堆栈跟踪:

2013-08-31 16:05:24,414 [ 570095] INFO - s.plugins.gradle.GradleManager - Instructing gradle to use java from /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 
2013-08-31 16:05:24,415 [ 570096] INFO - s.plugins.gradle.GradleManager - Instructing gradle to use java from /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 
2013-08-31 16:05:27,840 [ 573521] WARN - nal.AbstractExternalSystemTask - Could not execute build using Gradle distribution 'http://services.gradle.org/distributions/gradle-1.6-bin.zip'. 
Build file '/Users/clifton/workspace/MyOtherLilAndroid/build.gradle' line: 9 
A problem occurred evaluating root project 'MyOtherLilAndroid'. 
A problem occurred evaluating root project 'MyOtherLilAndroid'. 
SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable. 
com.intellij.openapi.externalSystem.model.ExternalSystemException: Could not execute build using Gradle distribution 'http://services.gradle.org/distributions/gradle-1.6-bin.zip'. 
Build file '/Users/clifton/workspace/MyOtherLilAndroid/build.gradle' line: 9 
A problem occurred evaluating root project 'MyOtherLilAndroid'. 
A problem occurred evaluating root project 'MyOtherLilAndroid'. 
SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable. 
    at org.jetbrains.plugins.gradle.service.project.GradleExecutionHelper.ensureInstalledWrapper(GradleExecutionHelper.java:198) 
    at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:66) 
    at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:44) 

我尝试下载摇篮1.7和使用,对于进口,但我得到另一个错误:“原因:未能找到指定Android-18

生成文件: '/Users/clifton/workspace/MyOtherLilAndroid/build.gradle'”

以下堆栈跟踪在idea.log:

2013-08-31 16:08:01,214 [ 726895] INFO - s.plugins.gradle.GradleManager - Instructing gradle to use java from /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 
2013-08-31 16:08:01,214 [ 726895] INFO - s.plugins.gradle.GradleManager - Instructing gradle to use java from /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 
2013-08-31 16:08:09,075 [ 734756] INFO - ject.ProjectImportErrorHandler - Failed to import Gradle project at '/Users/clifton/workspace/MyOtherLilAndroid' 
org.gradle.tooling.BuildException: Could not fetch model of type 'AndroidProject' using Gradle installation '/Users/clifton/java-apps/gradle-1.7'. 
    at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:55) 
    at org.gradle.tooling.internal.consumer.async.DefaultAsyncConnection$2.run(DefaultAsyncConnection.java:71) 
    at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:66) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) 
    at java.lang.Thread.run(Thread.java:680) 
    at org.gradle.tooling.internal.consumer.BlockingResultHandler.getResult(BlockingResultHandler.java:46) 
    at org.gradle.tooling.internal.consumer.DefaultModelBuilder.get(DefaultModelBuilder.java:46) 
    at com.android.tools.idea.gradle.project.ProjectResolver$1.fun(ProjectResolver.java:206) 
    at com.android.tools.idea.gradle.project.ProjectResolver$1.fun(ProjectResolver.java:199) 
    at org.jetbrains.plugins.gradle.service.project.GradleExecutionHelper.execute(GradleExecutionHelper.java:148) 
    at com.android.tools.idea.gradle.project.ProjectResolver.getAndroidProject(ProjectResolver.java:199) 
    at com.android.tools.idea.gradle.project.ProjectResolver.resolveProjectInfo(ProjectResolver.java:136) 
    at com.android.tools.idea.gradle.project.AndroidGradleProjectResolver$ProjectResolverFunctionFactory$1.fun(AndroidGradleProjectResolver.java:151) 
    at com.android.tools.idea.gradle.project.AndroidGradleProjectResolver$ProjectResolverFunctionFactory$1.fun(AndroidGradleProjectResolver.java:145) 
    at org.jetbrains.plugins.gradle.service.project.GradleExecutionHelper.execute(GradleExecutionHelper.java:148) 

我已经证实ANDROID_HOME是通过“〜/ .MacOSX/environment.plist”和我的“〜/ .bashrc”设置在我的Mac上的,最后是我的“〜/ .bash_profile”在项目的local.properties中设置sdk.dir和ndk.dir。使用捆绑gradle这个我得到这个错误在idea.log:

2013-08-31 16:14:15,943 [1101624] INFO - dle.util.AndroidGradleSettings - Found Android SDK home at '/Users/clifton/android-sdk-macosx' (from local.properties file) 
2013-08-31 16:14:18,207 [1103888] INFO - ject.ProjectImportErrorHandler - Failed to import Gradle project at '/Users/clifton/workspace/MyOtherLilAndroid' 
org.gradle.tooling.BuildException: Could not fetch model of type 'AndroidProject' using Gradle distribution 'http://services.gradle.org/distributions/gradle-1.6-bin.zip'. 

与gradle这个包装该堆栈跟踪:

2013-08-31 16:15:59,616 [1205297] WARN - nal.AbstractExternalSystemTask - Could not execute build using Gradle distribution 'http://services.gradle.org/distributions/gradle-1.6-bin.zip'. 
Task 'wrapper' not found in root project 'MyOtherLilAndroid'. 
com.intellij.openapi.externalSystem.model.ExternalSystemException: Could not execute build using Gradle distribution 'http://services.gradle.org/distributions/gradle-1.6-bin.zip'. 
Task 'wrapper' not found in root project 'MyOtherLilAndroid'. 
    at org.jetbrains.plugins.gradle.service.project.GradleExecutionHelper.ensureInstalledWrapper(GradleExecutionHelper.java:198) 
    at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:66) 
    at 

是怎么回事?有没有人成功地将项目迁移到Android Studio?我在不好的时间尝试?我知道这些工具仍处于重大的发展阶段。请指教。

+0

我只是设法让一些工作。我使用Android Studio创建了一个“hello world”项目,并将其build.gradle复制到导出的Eclipse项目中,并使用捆绑的gradle distro 1.7。显然,Eclipse ADT导出的build.gradle和Android Studio生成并期望的build.gradle有很大不同。 – Cliff

+0

我想我可能正在找出这一个。在强制我的项目进入AS后,由于项目未完全定义,我无法创建运行配置并遇到几个与路径相关的问题。出于某种原因,Eclipse ADT将该项目标记为使用构建工具版本18.0.1构建,导致上面的原始“未能找到目标18”错误。更新我的gradle版本以使用buildTools 17似乎满足了gradle同步和导入工具。更多关于这一点的。 – Cliff

回答

3

我已经找到了我对上述问题的大部分答案。我的问题源于刚刚打开全新的MAcbook Pro并安装了全新的工具(ADT/IntelliJ/Android Studio)。一个复合问题是,我安装了两个不同的Android SDK,一个捆绑了ADT,另一个捆绑了Android Studio。我原来在我的家庭驱动器(〜/ android-sdk-macosx)中创建了一个符号链接到ADT bundle SDK,因为我的所有命令行工具(在我的其他项目中)都被配置为在那里查看。我开始注意到在其中创建的AVD无法在另一个中正常启动,这促使我替换上面的符号链接并将其指向AS SDK。

长篇故事延长......我的SDK混淆导致从ADT导出项目,该项目仍然在其捆绑的SDK中看到构建工具18在Android Studio中不可导入。其他错误仅仅掩盖和混淆了潜在的问题。 (他们是从无意中迫使项目进口的企图。)

相关问题