尝试从Eclipse到Android Studio执行Android App的异常

Mar*_*coz 6 java eclipse android gradle android-studio

我尝试将Eclipse Android项目迁移到Android Studio,我尝试了两种方法,直接从Android Studio打开并首先迁移到Eclipse中的Gradle,然后在Android Studio中打开它.

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

  • 让项目
  • 清理项目确定
  • 重建项目 确定
  • Gradle同步并下载了很多DLL OK
  • 播放或调试KO并给我这个错误:

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

com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'command'/System/Library/Java/JavaVirtualMachines/1.6.0.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.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/Contents/Home/bin/java''完成非零退出值2

我已经开始使用JDK 1.6,然后更新到1.7然后更新到1.8以查看是否存在问题.

如果我不删除Google Play Dervices文件夹,该项目就可以正常运行.

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

如果要解决这个问题,我在堆栈溢出中发布的项目中遇到另一个问题.

这就是我的项目结构:

在此输入图像描述

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

主要的经营项目(客户经验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'
    }
}
Run Code Online (Sandbox Code Playgroud)

goSmart.guestperience.MoncloaDeSanLazaro(这是我编码的地方):

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')
    }
}
Run Code Online (Sandbox Code Playgroud)

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')
    }
}
Run Code Online (Sandbox Code Playgroud)

主要:

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')
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为某些配置缺失(可能),真的是我超级迷失了.

我是一名iOS程序员,这是我迈向Android的第一步,该项目已由另一个人完成,现在我应该继续,所以让我说我和Android Studio打得很好,看起来我很失落;-P

谢谢您的帮助.

更新:

我在日志中找到了这个:

AGPBI:{"kind":"SIMPLE","text":"意外的顶级异常:","位置":{},"原创":"意外的顶级异常:"} AGPBI:{"kind" :"SIMPLE","text":"com.android.dex.DexException:多个dex文件定义Lcom/google/android/gms/analytics/internal/Command $ 1;","position":{},"original": "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(D exMerger.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":{},"原始":"\ 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)"}

Liv*_*vio 22

问题来自Android Play Services 7.3.0.

试试:

dependencies {
    compile 'com.google.android.gms:play-services:6.5.87'
}
Run Code Online (Sandbox Code Playgroud)

或启用multiDex:

defaultConfig {
    minSdkVersion 14
    targetSdkVersion 19
    versionCode 1
    versionName versionNameVar
    multiDexEnabled true
}
Run Code Online (Sandbox Code Playgroud)

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

  • 对不起我的朋友你在哪里,问题是我必须从libs文件夹中删除旧库. (3认同)