从 Eclipse 导入到 Android Studio 后无法 运行 任务 ':app:dexDebug" 执行失败
After import from Eclipse to Android Studio cannot run Execution failed for task ':app:dexDebug"
有一个 Android 项目在 Eclipse (4.4.2) ADT 中工作,运行在 Linux (Ubuntu 14.10) 上运行。
我已经导入到 Android Studio (1.1.0) 并设法消除了我最初的编译错误。
接下来我要做的是 运行 我的 phone - 我按下绿色的 "Run" 按钮,过了一会儿我得到一个错误(这不是'当我刚刚构建模块时不会出现,只有当我尝试 运行)
错误是这样的:
Error:Execution failed for task ':myapp:dexDebug'.
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-7-openjdk-amd64/bin/java'' finished with non-zero exit value 2
过去 4 小时一直在查看 SO,但没有发现任何与我的项目相关的内容。有没有其他地方可以让我找到更有用的错误?
编辑: Aaarghh - 刚刚重新创建了整个项目(而不是信任导入向导) - 我创建了一个新的 Android Studio 项目,导入了我的代码和资源然后解决了所有的编译和依赖错误。通过清晰的构建然后尝试 运行...同样该死的错误!完全相同的。我做错了什么????
新 build.gradle 发布供参考:
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
android {
compileSdkVersion 21
buildToolsVersion "21.1.1"
defaultConfig {
applicationId "com.mycompany.app_Name"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
repositories { mavenCentral()
maven { url 'https://maven.fabric.io/public' } }
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
compile project(':swipeListView')
compile 'com.sothree.slidinguppanel:library:3.0.0'
compile files('libs/volley.jar')
compile files('libs/libGoogleAnalyticsServices.jar')
compile files('libs/commons-codec-1.8.jar')
compile files('libs/linkedin-j-android.jar')
compile files('libs/signpost-commonshttp4-1.2.1.1.jar')
compile files('libs/signpost-core-1.2.1.1.jar')
compile files('libs/twitter4j-core-4.0.1.jar')
compile files('libs/core.jar')
compile files('libs/gcm.jar')
compile 'com.google.android.gms:play-services:6.5.87'
compile 'com.facebook.android:facebook-android-sdk:3.20.0'
compile('com.crashlytics.sdk.android:crashlytics:2.2.2@aar') {
transitive = true;
}
compile project(':myImportedProject')
}
还尝试使用我的密钥库导出为 APK:出现类似错误:
Error:Execution failed for task ':app:dexRelease'.
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-7-openjdk-amd64/bin/java'' finished with non-zero exit value 2
啊哈!
似乎答案更进一步:错误是
com.android.dex.DexException: Multiple dex files define Lcom/nineoldandroids/animation/Animator$AnimatorListener;
所以我在这里找到了答案:
ListViewAnimations Library Causes TOP-LEVEL-EXCEPTION
部分技巧不仅是将行添加到 build.gradle 说
compile files('libs/nineoldandroids-2.4.0.jar')
还要从 libs 目录中删除 JAR。
现在我有更多链接问题,但我想我会把它们留给另一个问题。
有时,当您在 EclipseADT 中工作时,您必须 删除 android 库 ,它们位于 libs
文件夹中。我建议在将 android-support-v*.jar
导入 Android Studio 目录后将其从 libs
文件夹中删除。
有一个 Android 项目在 Eclipse (4.4.2) ADT 中工作,运行在 Linux (Ubuntu 14.10) 上运行。
我已经导入到 Android Studio (1.1.0) 并设法消除了我最初的编译错误。
接下来我要做的是 运行 我的 phone - 我按下绿色的 "Run" 按钮,过了一会儿我得到一个错误(这不是'当我刚刚构建模块时不会出现,只有当我尝试 运行)
错误是这样的:
Error:Execution failed for task ':myapp:dexDebug'. com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-7-openjdk-amd64/bin/java'' finished with non-zero exit value 2
过去 4 小时一直在查看 SO,但没有发现任何与我的项目相关的内容。有没有其他地方可以让我找到更有用的错误?
编辑: Aaarghh - 刚刚重新创建了整个项目(而不是信任导入向导) - 我创建了一个新的 Android Studio 项目,导入了我的代码和资源然后解决了所有的编译和依赖错误。通过清晰的构建然后尝试 运行...同样该死的错误!完全相同的。我做错了什么????
新 build.gradle 发布供参考:
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
android {
compileSdkVersion 21
buildToolsVersion "21.1.1"
defaultConfig {
applicationId "com.mycompany.app_Name"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
repositories { mavenCentral()
maven { url 'https://maven.fabric.io/public' } }
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
compile project(':swipeListView')
compile 'com.sothree.slidinguppanel:library:3.0.0'
compile files('libs/volley.jar')
compile files('libs/libGoogleAnalyticsServices.jar')
compile files('libs/commons-codec-1.8.jar')
compile files('libs/linkedin-j-android.jar')
compile files('libs/signpost-commonshttp4-1.2.1.1.jar')
compile files('libs/signpost-core-1.2.1.1.jar')
compile files('libs/twitter4j-core-4.0.1.jar')
compile files('libs/core.jar')
compile files('libs/gcm.jar')
compile 'com.google.android.gms:play-services:6.5.87'
compile 'com.facebook.android:facebook-android-sdk:3.20.0'
compile('com.crashlytics.sdk.android:crashlytics:2.2.2@aar') {
transitive = true;
}
compile project(':myImportedProject')
}
还尝试使用我的密钥库导出为 APK:出现类似错误:
Error:Execution failed for task ':app:dexRelease'. com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-7-openjdk-amd64/bin/java'' finished with non-zero exit value 2
啊哈!
似乎答案更进一步:错误是
com.android.dex.DexException: Multiple dex files define Lcom/nineoldandroids/animation/Animator$AnimatorListener;
所以我在这里找到了答案:
ListViewAnimations Library Causes TOP-LEVEL-EXCEPTION
部分技巧不仅是将行添加到 build.gradle 说
compile files('libs/nineoldandroids-2.4.0.jar')
还要从 libs 目录中删除 JAR。
现在我有更多链接问题,但我想我会把它们留给另一个问题。
有时,当您在 EclipseADT 中工作时,您必须 删除 android 库 ,它们位于 libs
文件夹中。我建议在将 android-support-v*.jar
导入 Android Studio 目录后将其从 libs
文件夹中删除。