真的到处寻找,但我几乎陷入僵局。我目前无法编译任何使用外部.jar的Android项目。即使这只是一个空项目,它总是返回相同的错误:
错误:任务':app:preDexDebug'执行失败。
com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'D:\ Program Files \ Java \ jdk1.8.0_60 \ bin \ java.exe''已完成非零退出值1。
我完全错过了什么吗? Native-java(Netbeans)jar是否与Android不兼容?
目前的流程是:
- 将.jar复制到libs文件夹
- resync gradle
- 清洁重建
- 尝试运行
- 死亡
编辑:对于那些应该碰到这堵墙的人。如果您拥有包含6.0 JDK代码的纯JAVA jar并使用更高级别的JDK进行编译,那么Android将无法识别它并为您提供该特定错误。用JDK 5.0编译我的netbeans项目解决了我的问题,我的Android项目终于运行了。
在Netbeans中,右键单击项目中的libraries文件夹>属性>源和源/二进制格式,选择JDK 5(或更低)。你的Android项目现在应该用你的jar编译。
答案 0 :(得分:0)
答案 1 :(得分:0)
您的build.gradle
文件中是否有这行代码?:
compile fileTree(dir: 'libs', include: ['*.jar'])
您的libs
文件夹位于何处?它应该在模块的根文件夹中,而不是整个项目。
.
├── app
│ ├── app.iml
│ ├── build.gradle
│ ├── libs <----- check this
│ │ ├── greendao-1.3.7.jar
│ │ ├── httpcore-4.3-beta1.jar
│ │ ├── mimecraft-1.1.1.jar
│ │ └── volley.jar
│ ├── proguard-rules.pro
│ └── src
│ ├── androidTest
│ └── main
├── android
│ ├── app
│ │ └── annotations.xml
│ └── content
│ └── annotations.xml
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── build.gradle
├── gradle.properties
├── gradlew
├── gradlew.bat
├── project-name.iml
├── local.properties
├── settings.gradle
└── settings.gradle.orig
另外,根据我的经验,大多数时候java finished with non-zero exit code
错误与资源或其他非java相关的东西有关。您应该查看Gradle console
并查找红线,它们包含您可以检查和修复的实际错误消息。