尝试从Eclipse到Android Studio执行Android应用程序的异常 [英] Exception trying to execute Android App from Eclipse To Android Studio

查看:143
本文介绍了尝试从Eclipse到Android Studio执行Android应用程序的异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经尝试将Eclipse Android项目迁移到Android Studio,我已经尝试过两种方法,直接从Android Studio打开,然后首先在Eclipse中迁移到Gradle,然后在Android Studio中打开它。



然后我尝试删除Google Play库文件夹并将其添加到我的Gradle文件中,然后项目执行此操作:




  • 使项目确定

  • 清洁项目确定

  • 重建项目确定

  • Gradle同步并下载大量DLL 确定

  • 播放或调试KO并给我这个错误:




错误:任务$ b执行失败$ b':goSmart.guestperience.MoncloaDeSanLazaro:dexDebug'。


com.android.ide.common.process.ProcessException:org.gradle .process.internal.ExecException:进程'命令
'/ System / Library / Java / JavaVirtua lMachines / 1.6.0.jdk / Contents / Home / bin / java''
以非零退出值2完成




错误:执行失败的任务
':goSmart.guestperience.MoncloaDeSanLazaro :dexDebug'。


com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:Process'命令
'/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java''
以非零退出值2完成




错误:执行失败任务
':goSmart.guestperience.MoncloaDeSanLazaro:dexDebug'。


com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException:进程'命令
'/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Conten ts / Home / bin / java''
以非零退出值2完成



我已经开始使用JDK 1.6,然后更新到1.7,然后更新到1.8,看看是否是问题。



如果我不删除Google Play Dervices文件夹的项目工作正常。



我正在使用MAC,如果这很重要。



如果这是为了解决这个问题,我有这个我的项目中的其他问题发生在堆栈溢出。



这是我的项目结构如何:





而这个是所有项目的build.grade文件



主要整经项目(客串1.0.1 Moncloa De San Lazaro):

  //顶级bui ld文件,您可以在其中添加所有子项目/模块通用的配置选项。 
buildscript {
repositories {
jcenter()
}
依赖关系{
classpath'com.android.tools.build:gradle:1.2.0'
}
}

goSmart.guestperience.MoncloaDeSanLazaro(这是我的代码):

 应用插件:'com.android.application'

依赖关系{
编译fileTree(dir:'libs',include:'* .jar')
编译项目(':librarySmartHotel')
编译'com.google.android.gms:play-services:7.3.0 '
}

android {
compileSdkVersion 16
buildToolsVersion22.0.1

sourceSets {
main {
manifest.srcFile'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}

//将测试移动到tests / java,tests / res等...
instrumentTest.setRoot('测试')

//将构建类型移动到build-types /< type>
//例如,build-types / debug / java,build-types / debug / AndroidManifest.xml,...
//将它们从src /< type> ; / ...这将
//与主源集合使用的src /冲突。
//添加新的构建类型或产品风格应该通过类似的自定义来附加
//。
debug.setRoot('build-types / debug')
release.setRoot('build-types / release')
}
}

librarySmartHotel:

 应用插件: 'com.android.library'

依赖关系{
compile fileTree(dir:'libs',include:'* .jar')
compile project(':main')
}

android {
compileSdkVersion 16
buildToolsVersion '22 .0.1'

sourceSets {
main {
manifest.srcFile'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}

//将测试移至tests / java,tests / res等...
instrumentTest.setRoot('tests')

//将构建类型移动到build-types /< type>
//例如,build-types / debug / java,build-types / debug / AndroidManifest.xml,...
//将它们从src /< type> ; / ...这将
//与主源集合使用的src /冲突。
//添加新的构建类型或产品风格应该通过类似的自定义来附加
//。
debug.setRoot('build-types / debug')
release.setRoot('build-types / release')
}
}

main:

 应用插件: 'com.android.library'

依赖关系{
compile fileTree(dir:'libs',include:'* .jar')
}

android {
compileSdkVersion 16
buildToolsVersion '22 .0.1'

sourceSets {
main {
manifest.srcFile'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}

//将测试移到tests / java,tests / res等等
instrumentTest.setRoot('tests')

//将构建类型移动到build-typ ES /<类型>
//例如,build-types / debug / java,build-types / debug / AndroidManifest.xml,...
//将它们从src /< type> ; / ...这将
//与主源集合使用的src /冲突。
//添加新的构建类型或产品风格应该通过类似的自定义来附加
//。
debug.setRoot('build-types / debug')
release.setRoot('build-types / release')
}
}

我认为某些配置丢失了(也许),真的是我超级迷失了。



我是一个iOS程序员,这是Android的第一步,这个项目是由另一个人完成的,现在我应该继续,所以让我说一个与Android Studio的良好战斗,看起来我失去了; -P



感谢您的帮助。



更新:



我在日志中找到了这个:


AGPBI:{kind:SIMPLE,text:UNEXPECTED TOP-LEVEL
EXCEPTION:,position:{},original:UNEXPECTED TOP-LEVEL
EXCEPTION:} AGPBI:
{kind:SIMPLE,text:com.android.dex.DexException:多个dex
文件定义
Lcom / google /机器人/克/分析/内部/命令$ 1; 位置:{},ORI ginal:com.android.dex.DexException:
多个dex文件定义
Lcom / google / android / gms / analytics / internal / Command $ 1;} AGPBI:
{kind :SIMPLE,text:\tat
com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596),position:{},original \tat
com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)}
AGPBI:{kind:SIMPLE,text:\tat
com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554),position:{},original:\tat
com.android.dx.merge .DexMerger.getSortedTypes(DexMerger.java:554)}
AGPBI:{kind:SIMPLE,text:\tat
com.android.dx.merge.DexMerger。 mergeClassDefs(DexMerger.java:535),position:{},original:\tat
com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)}
AGPBI:{kind:SIMPLE,text:\tat
com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171),position {},original:\tat
com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)} AGPBI:
{kind:SIMPLE,text:\tat
com。 android.dx.merge.DexMerger.merge(DexMerger.java:189),position:{},original:\tat
com.android.dx.merge.DexMerger.merge(DexMerger .java:189)} AGPBI:
{kind:SIMPLE,text:\tat
com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main。 java:454),position:{},original:\tat
com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)}
AGPBI:{kind:SIMPLE,text:\tat
com.android.dx.command.dexer.Main.runMonoDex(Main.java:303),position {},original:\tat
com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)} AGPBI:
{kind:SIMPLE ,text:\tat
com.android.dx.command.dexer.Main.run(Main.java:246),position:{},original:\ tat \\ tat
com.android.dx.command.dexer.Main.main(Main.java:215),position:{},original:\tat
com.android .dx.command.dexer.Main.main(Main.java:215)} AGPBI:
{kind:SIMPLE,text:\tat
com.android。 dx.command.Main.main(Main.java:106),position:{},original:\tat
com.android.dx.command.Main.main(Main.java :106)}



解决方案

问题来自Android Play Services 7.3.0。 / p>

尝试:

 依赖关系{
compile'c​​om。 google.android.gms:play-services:6.5.87'
}

或启用multiDex:

  defaultConfig {
minSdkVersion 14
targetSdkVersion 19
versionCode 1
versionName versionNameVar
multiDexEnabled true
}

(multiDex解决方案编译,但可能会崩溃在应用程序启动时)


I have tried to migrate an Eclipse Android project to Android Studio, I have tried both ways, open directly from Android Studio and migrating to Gradle in Eclipse first and then open it in Android Studio.

Then I have tried to remove the Google Play library folder and added it in my Gradle file, and then the project do this:

  • Make Project OK
  • Clean Project OK
  • Rebuild Project OK
  • Gradle sync and download a lot of DLL OK
  • Play or Debug KO and gives me this errors:

Error:Execution failed for task ':goSmart.guestperience.MoncloaDeSanLazaro:dexDebug'.

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2

OR

Error:Execution failed for task ':goSmart.guestperience.MoncloaDeSanLazaro:dexDebug'.

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2

OR

Error:Execution failed for task ':goSmart.guestperience.MoncloaDeSanLazaro:dexDebug'.

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2

I have started with JDK 1.6, then updated to 1.7 and then to 1.8 to see if that was the problem.

If I don't delete the Google Play Dervices folders the project works just fine.

I'm using a MAC if that is important.

And if that matter to solve this problem, I'm having this other problem in my project posted in stack overflow.

This is how it looks my project structure:

And this are the build.grade files of all the projects

Main warper project (guestperience 1.0.1 Moncloa De San Lazaro):

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.0'
    }
}

goSmart.guestperience.MoncloaDeSanLazaro (this is where I code):

apply plugin: 'com.android.application'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':librarySmartHotel')
    compile 'com.google.android.gms:play-services:7.3.0'
}

android {
    compileSdkVersion 16
    buildToolsVersion "22.0.1"

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/<type>
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src/<type>/... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
}

librarySmartHotel:

apply plugin: 'com.android.library'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':main')
}

android {
    compileSdkVersion 16
    buildToolsVersion '22.0.1'

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/<type>
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src/<type>/... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
}

main:

apply plugin: 'com.android.library'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}

android {
    compileSdkVersion 16
    buildToolsVersion '22.0.1'

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/<type>
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src/<type>/... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
}

I'm thinking that some configuration is missing (maybe), the true is that I'm super lost.

I'm an iOS programmer and this are my first steps in Android, the project has been done by another guy, and now I'm supposed to continue, so let's say I'm having a good fight with Android Studio and it looks that I'm loosing ;-P

Thanks for the help.

UPDATE:

I have found this in the log:

AGPBI: {"kind":"SIMPLE","text":"UNEXPECTED TOP-LEVEL EXCEPTION:","position":{},"original":"UNEXPECTED TOP-LEVEL EXCEPTION:"} AGPBI: {"kind":"SIMPLE","text":"com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/analytics/internal/Command$1;","position":{},"original":"com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/analytics/internal/Command$1;"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)","position":{},"original":"\tat com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)","position":{},"original":"\tat com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)","position":{},"original":"\tat com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)","position":{},"original":"\tat com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.merge.DexMerger.merge(DexMerger.java:189)","position":{},"original":"\tat com.android.dx.merge.DexMerger.merge(DexMerger.java:189)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)","position":{},"original":"\tat com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)","position":{},"original":"\tat com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.run(Main.java:246)","position":{},"original":"\tat com.android.dx.command.dexer.Main.run(Main.java:246)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.main(Main.java:215)","position":{},"original":"\tat com.android.dx.command.dexer.Main.main(Main.java:215)"} AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.Main.main(Main.java:106)","position":{},"original":"\tat com.android.dx.command.Main.main(Main.java:106)"}

解决方案

The problem come from Android Play Services 7.3.0.

Try :

dependencies {
    compile 'com.google.android.gms:play-services:6.5.87'
}

or enable multiDex:

defaultConfig {
    minSdkVersion 14
    targetSdkVersion 19
    versionCode 1
    versionName versionNameVar
    multiDexEnabled true
}

(multiDex solution compile, but might crash at app launch)

这篇关于尝试从Eclipse到Android Studio执行Android应用程序的异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆