我整天都在和Android Studio和Gradle打架。我的项目最初是在Eclipse中创建的,然后迁移到IntelliJ,现在是Android工作室。例如,它有旧的项目结构。我最后通过Google的迁移指南了解了如何将项目转换为Gradle结构。经过多次努力,我可以通过调用gradle buildDebug
安装Gradle并成功构建我的项目。
我正在尝试获取它,以便我可以单击Android Studio中的“运行”按钮并获取它以前的行为(构建项目,加载到设备上,在设备上打开)。我还需要恢复交互式调试。每当我尝试点击按钮时,它什么也不做,最终会自动消失。我注意到它会抛出AssertionError
这个堆栈跟踪:
null
java.lang.AssertionError
at com.android.tools.idea.gradle.invoker.GradleTasksExecutor.invokeGradleTasks(GradleTasksExecutor.java:229)
at com.android.tools.idea.gradle.invoker.GradleTasksExecutor.run(GradleTasksExecutor.java:184)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:464)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:178)
at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:209)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:212)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:171)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$8.run(ProgressManagerImpl.java:373)
at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:435)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:152)
我见过AssertionError
的其他帖子,但没有看到此行。现在我正在使用我执行Gradle的自定义shell脚本构建并触发ADB命令。我真的很喜欢这与Android Studio集成。有任何想法吗?这只是一个错误吗?有没有办法使用adb
和命令行使用Android Studio启动交互式调试?如果我有这个选择,我可能不会那么在意。感谢。
使用Android Studio 0.4.0和Gradle 1.9
答案 0 :(得分:0)
在此尝试我的解决方案,看看它是否适合您: android studio 0.4.2: Gradle project sync failed error
您是否正确设置了JAVA_HOME和GRADLE_HOME env变量? (即指向正确的位置?)
如果您创建新项目,是否会出现相同的错误?