当前位置: 首页 > 知识库问答 >
问题:

尝试从Eclipse到Android Studio执行Android应用程序的异常

陈季
2023-03-14

我曾尝试将一个Eclipse Android项目迁移到Android Studio,我尝试了两种方法,一种是直接从Android Studio打开,另一种是先在Eclipse中迁移到Gradle,然后在Android Studio中打开。

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

    < li >确定项目 < li >清理项目确定 < li >重建项目正常 < li>Gradle同步并下载大量DLL OK < li >播放或调试KO并显示以下错误:

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

com . Android . ide . common . Process . Process exception:org . grad le . Process . internal . exec exception:Process ' command '/System/Library/Java/JavaVirtualMachines/1 . 6 . 0 . JDK/Contents/Home/bin/Java ' '以非零退出值2结束

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

进程异常: process.gradle.internal.exec异常: 进程 '/库/Java/Java虚拟机器/jdk1.7.0_79.jdk/内容/主页/bin/java'以非零退出值 2 完成

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

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

我从JDK 1.6开始,然后更新到1.7,然后到1.8,看看这是不是问题。

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

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

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

这是我的项目结构的样子:

这就是构建。所有项目的等级文件

主要整经项目(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(这是我编码的地方):

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')
    }
}

图书馆智能酒店:

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')
    }
}

主要:

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')
    }
}

我在想,有些配置丢失了(也许),事实上,我是超级迷路了。

我是一名iOS程序员,这是我在Android中的第一步,这个项目已经由另一个人完成了,现在我应该继续,所以让我们说我正在与Android Studio进行一场很好的斗争,看起来我正在失去;-P

谢谢你的帮助。

更新:

我在日志中发现了这个:

AGPBI: {"kind":"SIMPLE "," text ":"意外的顶级异常:"," position":{}," original ":"意外的顶级异常:" } AGPBI: {"kind":"SIMPLE "," text ":" com . Android . dex . dex EXCEPTION:多个dex文件定义了Lcom/Google/Android/GMS/analytics/internal/Command $ 1;"、" position":{}、" original ":" com . Android . dex . dex exception:多个dex文件定义了Lcom/Google/Android/GMS/analytics/internal/Command $ 1;"} AGPBI: {"kind":"SIMPLE "," text ":" \ tat com . Android . dx . merge . dex merge . readsortabletypes(dex merge . Java:596)"," position ":{ } " original ":" \ tat com . Android . dx . merge . dex merge . readsortabletypes(dex merge . Java:596)" } AGP bi:{ " kind ":" SIMPLE "," text ":" \ tat com . Android . dx . merge . getsorted types(dex merge . Java:554)"。

共有3个答案

卜高超
2023-03-14

在我的情况下,我只需要删除旧库。

邹学民
2023-03-14

几个小时后,同样的问题我找到了答案。

真正的问题是,您有多个库,其中包含相同的类,因此解决方案是从其中一个库中删除重复文件。

您必须删除包含重复文件的库,或者:

    < li >用WinRAR、7Zip或其他文件打开lib < code > libgoogalanelyticsservices . jar 。 < li >转到< code > com/Google/Android/GMS/analytics/internal 并删除文件< code>Command$1.class和< code>Command.class。

在您的情况下,您可能必须删除其他重复的文件,不确定,因为您有许多文件。无论哪种方式,如果上面的方法不起作用,您也可以强制它忽略其中的一些文件。将以下代码放入build.gradle文件的Android块中:

defaultConfig {
    multiDexEnabled true
}

dexOptions {
    preDexLibraries = false
}
奚晟
2023-03-14

问题来自Android播放服务7.3.0。

尝试:

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

或启用多索引:

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

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

 类似资料:
  • 我已经使用向导生成了一个带有导航抽屉的应用程序。 当我选择“运行”“应用”或“调试”“应用”时,我会得到以下错误: 生成签名APK...选项工作,它创建的签名应用程序,可以安装在电话和工作。也可以使或重建项目在调试或发布中工作,没有错误。 null

  • 问题内容: 我已经有这个问题近两个月了,无法解决。问题是,如果我的应用程序正在运行,并且我从Eclipse运行(重新安装)我的应用程序,则会收到一条错误消息,指示我的应用程序已崩溃“不幸的是,已停止。”。我注意到,当我从PC / Eclipse上运行它时,也会发生这种情况,我认为只有在一段时间不运行它时,它才会发生。 仅当应用程序在第三个活动(BaseDiagramActivity)中处于活动状态

  • 运行Gradle时出错: 失败:生成失败,出现异常。 错误:配置根项目“android”时出现问题。 尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。 在https://help.gradle.org获得更多帮助 构建在27秒内失败 完成时出现错误:请查看android/文件夹中的Gradle项目设置。

  • 我是android studio的新手,正在制作一个简单的天气应用程序。我编写了代码,但仍然出现以下错误: 任务': app: dexDebug'执行失败。 通用域名格式。Android石斑鱼类。常见的过程ProcessException:org。格拉德尔。过程内部的ExecException:进程'command'/usr/lib/jvm/java-7-openjdk-amd64/bin/jav

  • 正如SonarSource所说: 捕获Throwable或Error也将捕获OutOfMemoryError和InternalError,应用程序不应试图从中恢复。 现在,如果在一个事务中,我不应该尝试回滚它吗?或者我会在数据库中造成更糟糕的状态吗?是否在创建OutOfMemoryError时释放了资源,以便我可以再次使用内存?

  • 主要内容:Eclipse 运行应用程序Eclipse 运行应用程序 运行 Java 程序的最快方法是使用 Package Explorer 视图。 在包资源管理器视图中 : 右键单击包含 main 方法的 java 类。 选择“Run As”→ Java Application。 通过选择包含 main 方法的类并单击 Alt + Shift + X、J,可以使用 Package Explorer 视图执行相同的操作。 上述任一操作都