标签: android-multidex

Linux 盒子上的 Gradle 构建失败,并显示“格式错误的输入或输入包含无法映射的字符”

当我在 CI 机器上运行 android 构建时遇到异常。对于 CI,我们使用基于 ubuntu 的 docker 镜像。如果我在本地运行构建,那就没问题,但是当我在那里运行它时,我收到以下异常:

* What went wrong:
Execution failed for task ':Callsign:transformClassesWithMultidexlistForDevDebug'.
> com.android.build.api.transform.TransformException: Error while generating the main dex list.

* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':Callsign:transformClassesWithMultidexlistForDevDebug'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:103)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:73)
    at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
    at org.gradle.api.internal.tasks.execution.SkipCachedTaskExecuter.execute(SkipCachedTaskExecuter.java:103)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)
    at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ResolveBuildCacheKeyExecuter.execute(ResolveBuildCacheKeyExecuter.java:66)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)
    at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)
    at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)
    at …
Run Code Online (Sandbox Code Playgroud)

android gradle android-multidex

5
推荐指数
1
解决办法
2157
查看次数

Android 应用程序在使用 proguard 发布时崩溃

创建发布版本时,我的应用程序崩溃。该应用程序运行正常,突然发生了这种情况。我有这条线BaseActivity.java MultiDex.install(this);我尝试了 SO 的多种选择,但没有一个有效。该错误也没有提供足够的详细信息,或者我无法找到发生此问题的点。任何帮助将不胜感激。

这是堆栈跟踪。

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.packagename, PID: 10136
    java.lang.VerifyError: Verifier rejected class android.support.multidex.MultiDex: void android.support.multidex.MultiDex.<init>() failed to verify: void android.support.multidex.MultiDex.<init>(): [0x0] Constructor returning without calling superclass constructor (declaration of 'android.support.multidex.MultiDex' appears in /data/app/com.packagename-4uitso2MKAahWwylc8ZTtA==/base.apk!classes2.dex)
        at android.support.multidex.MultiDex.install(MultiDex.java:95)
        at com.packagename.baseactivity.BaseActivity.attachBaseContext(BaseActivity.java:43)
        at android.app.Application.attach(Application.java:224)
        at android.app.Instrumentation.newApplication(Instrumentation.java:1128)
        at android.app.LoadedApk.makeApplication(LoadedApk.java:1162)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6607)
        at android.app.ActivityThread.access$2000(ActivityThread.java:268)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1995)
        at android.os.Handler.dispatchMessage(Handler.java:109)
        at android.os.Looper.loop(Looper.java:207)
        at android.app.ActivityThread.main(ActivityThread.java:7539)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958)
Run Code Online (Sandbox Code Playgroud)

这是我的 build.gradle

apply plugin: 'com.android.application'

android { …
Run Code Online (Sandbox Code Playgroud)

android proguard android-multidex

5
推荐指数
1
解决办法
1310
查看次数

安装应用程序需要几分钟时间,并出现 dex2oat 警告

一段时间后,我重新打开了一个 Android Studio 项目,并且像往常一样看到了快速构建,但现在 Android Studio (3.5) 的“安装”步骤需要几分钟,而过去需要几秒钟。

如果我在安装时打开设备 Logcat,我可以看到大量这些:

W/dex2oat: Method processed more than once: void com.package.base.view.BaseDialog.onSaveInstanceState(android.os.Bundle)
W/dex2oat: Method processed more than once: void com.package.base.view.BaseDialog.onViewCreated(android.view.View, android.os.Bundle)
W/dex2oat: Method processed more than once: void com.package.base.view.BaseDialog.onViewModelCreated()
W/dex2oat: Method processed more than once: void com.package.base.view.BaseDialog.removeCancelListener(com.package.base.view.BaseDialog$CancelListener)
W/dex2oat: Method processed more than once: void com.package.base.view.BaseDialog.removeDismissListener(com.package.base.view.BaseDialog$DismissListener)
W/dex2oat: Method processed more than once: void com.package.base.view.BaseDialog.setChildFragmentInjector(dagger.android.DispatchingAndroidInjector)
W/dex2oat: Method processed more than once: void com.package.base.view.BaseDialog.setSharedValue(java.lang.String, java.lang.Object)
W/dex2oat: Method processed more than once: void com.package.base.view.BaseDialog.setViewModelFactory(androidx.lifecycle.ViewModelProvider$Factory)
W/dex2oat: Method processed more …
Run Code Online (Sandbox Code Playgroud)

android dex android-studio android-multidex dex2oat

5
推荐指数
1
解决办法
4079
查看次数

com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException

我正在使用Android studio 1.2.2.我已经集成了地图4工作sdk,在此之后构建失败,我们在我们的项目中使用google play services lib(仅使用com.google.android.gms.tagmanager.*).现在,在集成googlemaps_sdk_m4b_lib之后,构建不会生成.在此之前

试图寻找仅包含google_play_services_lib的tagmanager片段,但不能作为依赖项使用.

构建失败,具体如下:

:nFarmers:dexDebug AGPBI:{"kind":"SIMPLE","text":"意外的顶级错误:","位置":{},"原始":"意外的顶层错误:"} AGPBI: {"kind":"SIMPLE","text":"java.lang.OutOfMemoryError:超出GC开销限制","position":{},"original":"java.lang.OutOfMemoryError:超出GC开销限制"} AGPBI:{"kind":"SIMPLE","text":"\ tat com.android.dx.cf.cst.ConstantPoolParser.parseUtf8(ConstantPoolParser.java:371)","position":{},"original" :"\ tat com.android.dx.cf.cst.ConstantPoolParser.parseUtf8(ConstantPoolParser.java:371)"} AGPBI:{"kind":"SIMPLE","text":"\ tat com.android.dx. cf.cst.ConstantPoolParser.parse0(ConstantPoolParser.java:262)","position":{},"original":"\ tat com.android.dx.cf.cst.ConstantPoolParser.parse0(ConstantPoolParser.java:262) "} AGPBI:{"kind":"SIMPLE","text":"\ tat com.android.dx.cf.cst.ConstantPoolParser.parse(ConstantPoolParser.java:150)","position":{},"原始":"\ tat com.android.dx.cf.cst.ConstantPoolParser.parse(ConstantPoolParser.java:150)"} AGPBI:{"kind" :"SIMPLE","text":"\ tat com.android.dx.cf.cst.ConstantPoolParser.parseIfNecessary(ConstantPoolParser.java:124)","position":{},"original":"\ tat com. android.dx.cf.cst.ConstantPoolParser.parseIfNecessary(ConstantPoolParser.java:124)"} AGPBI:{"kind":"SIMPLE","text":"\ tat com.android.dx.cf.cst.ConstantPoolParser. getPool(ConstantPoolParser.java:115)","position":{},"original":"\ tat com.android.dx.cf.cst.ConstantPoolParser.getPool(ConstantPoolParser.java:115)"} AGPBI:{" kind":"SIMPLE","text":"\ tat com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:482)","position":{},"original":"\ tat com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:482)"} AGPBI:{"kind":"SIMPLE","text":"\ tat com.android.dx.cf.direct. DirectClassFile.parse(DirectClassFile.java:406)","position":{},"original":"\ tat com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)"} AGPBI: {"kind":"SIMPLE","text":"\ tat com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary (DirectClassFile.java:388)","position":{},"original":"tat com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)"} AGPBI:{"kind ":"SIMPLE","text":"\ tat com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)","position":{},"original":"\ tat com .android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)"} AGPBI:{"kind":"SIMPLE","text":"\ tat com.android.dx.command.dexer.Main .parseClass(Main.java:764)","position":{},"original":"\ tat com.android.dx.command.dexer.Main.parseClass(Main.java:764)"} AGPBI:{ "kind":"SIMPLE","text":"\ tat com.android.dx.command.dexer.Main.access $ 1500(Main.java:85)","position":{},"original":"\tat …

android gradle android-studio android-multidex

4
推荐指数
1
解决办法
4861
查看次数

:app:transformClassesWithMultidexlistForDebug 失败

我试过以下链接

http://developer.android.com/intl/es/tools/building/multidex.html

意外的顶级异常:com.android.dex.DexException:多个 dex 文件定义

com.android.build.transform.api.TransformException

':app:transformClassesWithDexForDebug'。> com.android.build.transform.api.TransformException:当我在我的工作室项目中添加 Facebook 最新 SDK 时

Android Studio TransformException:错误:任务':app:transformClassesWithDexForDebug'的执行失败

Java 以非零退出值 2 结束 - Android Gradle

com.android.build.transform.api.TransformException

我的gradle构建文件如下。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.1'

    defaultConfig {
        applicationId "appId"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    dexOptions {
        incremental true
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.3.0'
    compile files('libs/rt.jar')
    compile 'com.android.support:multidex:1.0.0' …
Run Code Online (Sandbox Code Playgroud)

java android build.gradle android-multidex

4
推荐指数
1
解决办法
3万
查看次数

Android:构建APK文件时出现duplicati条目错误

当我为我的项目为android studio(版本2.0)构建一个APK文件时,出现错误:

错误:任务':app:transformClassesWithJarMergingForDebug'的执行失败.> com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复项:组织/阿帕奇/ oltu /的oauth2 /普通/ OAuth的$ ContentType.class

这是我的gradle文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
    }

    defaultConfig {
        applicationId "com.db.android.app.denhathai"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 14
        versionName "1.2.2"
        multiDexEnabled true

        manifestPlaceholders = [manifestApplicationId          : "${applicationId}",
                                onesignal_app_id               : "bad49395-e355-4802-8df1-414be2d345ac",
                                onesignal_google_project_number: "1071797880741"]
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }
    }

    dependencies {
    compile fileTree(include: …
Run Code Online (Sandbox Code Playgroud)

android android-multidex

4
推荐指数
1
解决办法
1068
查看次数

即使在设置Min SDK 21之后,也会出现MultiDex错误

我正在研究的项目围绕180k方法.我已阅读博客和文章,其中书面,如果您将Min SDK21,那么你就不需要MultiDex.但是,如果我MultiDex从这里删除它给我65k MultiDex错误消息.以下是我的gradle档案.我不知道我是否理解这个概念或其他东西.请指导我.

compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {

    applicationId 'com.myapp.app'
    minSdkVersion 21
    targetSdkVersion 23
    versionCode 59
    versionName "1.0.1"
    multiDexEnabled true
    ndk {
        abiFilters "armeabi", "armeabi-v7a", "x86"
    }
}
dexOptions {
    javaMaxHeapSize "4g" //specify the heap size for the dex process
}
lintOptions {
    abortOnError false
}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

productFlavors {
} 
Run Code Online (Sandbox Code Playgroud)

performance android proguard gradle android-multidex

4
推荐指数
1
解决办法
1373
查看次数

运行 Multidexed Espresso .APK

使用 运行 Espresso 测试时./gradlew connectedDebugAndroidTest,我们遇到了这个问题:

com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: 方法 ID 不在 [0, 0xffff]: 65536

由于我们在主应用程序中使用 Multidex 并且只是在检测的测试中添加 Espresso 依赖项,我们不明白为什么它不起作用:·(此外,如果我们通过 IntelliJ 而不是 Gradle 运行测试,它有效:·|

顺便说一下,我们需要通过 Gradle 运行它们以在 CI 工具上自动化它们。

更多信息?在 Google 的问题跟踪器上有一个相关问题的链接:https ://issuetracker.google.com/issues/37017515 :sad:

android android-espresso android-multidex

4
推荐指数
1
解决办法
382
查看次数

任务':app:transformClassesWithMultidexlistForDebug'重复Zip条目的执行失败

我突然得到了以下错误.该应用程序运行良好,直到早上.从那时起我就得到了这个.我尝试从Git加载旧的提交,但是现在我遇到了同样的问题.我可以看到某些类有重复的条目,但不清楚在哪里.我检查了所有的库以找到问题但是徒劳无功.请帮忙

Error:Execution failed for task 
':app:transformClassesWithMultidexlistForDebug'.
> java.io.IOException: Can't write [C:\Users\Bluetie Backup 3 
i5\Downloads\Bluetie_Android_NewDesign-
Development\Bluetie_Android_NewDesign-Development\BlueTieAndroid-
master\app\build\intermediates\multi-dex\debug\componentClasses.jar] (Can't 
read [C:\Users\Bluetie Backup 3 i5\.gradle\caches\transforms-1\files-
1.1\support-core-ui-27.1.0.aar\781c80d72f0634c3cfc30b7ab8014102\jars\classes.jar(;;;;;;**.class)] 
(Duplicate zip entry[classes.jar:android/support/design/widget/CoordinatorLayout$Behavior.class]))`
Run Code Online (Sandbox Code Playgroud)

我使用了很多库,因为我的应用程序非常以UI为中心.

这是build.gradle文件

compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', 
{
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile project(':rtp')
compile project(':pageIndicator')
compile files('libs/linkedin-j-android.jar')
//compile files('libs/commons-codec-1.3.jar')
//compile files('libs/signpost-core-1.2.1.1.jar')
compile project(':imagepicker')
compile project(':swipflingview')

compile project(':linkedin-sdk')
compile 'com.android.support:multidex:1.0.2'
//noinspection GradleCompatible
compile 'com.google.firebase:firebase-core:11.0.2'
compile 'com.google.firebase:firebase-crash:11.0.2'
/* compile 'com.google.firebase:firebase-auth:11.0.2'*/
compile 'com.google.android.gms:play-services-analytics:11.0.2'
compile 'com.google.firebase:firebase-messaging:11.0.2'
compile 'com.google.android.gms:play-services-location:11.0.2'
/*compile 'com.google.android.gms:play-services-ads:11.0.2'*/
compile 'com.google.android.gms:play-services-auth:11.0.2' …
Run Code Online (Sandbox Code Playgroud)

android build.gradle android-gradle-plugin android-multidex

4
推荐指数
1
解决办法
1816
查看次数

错误:与项目中的依赖项"com.android.support:multidex"冲突

我用以下gradle文件创建了一个新的android项目:

android {
   ...
   dexOptions {
        javaMaxHeapSize "4g"
    }
   ...
}

dependencies {
   ...
    compile 'com.linkedin.dexmaker:dexmaker-mockito:2.16.0'
   ...
}
Run Code Online (Sandbox Code Playgroud)

但是当我构建我的应用程序时,我得到:

在项目':app'中与依赖'com.android.support:multidex'冲突.app(1.0.3)和测试app(1.0.1)的已解决版本有所不同.有关详细信息,请参阅http://g.co/androidstudio/app-test-app-conflict.

我该如何解决这个问题?

android android-gradle-plugin android-multidex

4
推荐指数
1
解决办法
3896
查看次数