标签: android-multidex

VM具有multidex支持,MultiDex支持库被禁用

我收到以下错误.

致命异议:主要

  • 版本为2.1.0的VM具有multidex支持
  • 安装
  • VM具有multidex支持,MultiDex支持库被禁用.
  • 安装
  • VM具有multidex支持,MultiDex支持库被禁用.
  • 关闭VM

这是我的build.gradle,我在android部分启用了multidex,

apply plugin: 'com.android.application'


android {
compileSdkVersion 23
buildToolsVersion '23.0.0'

defaultConfig {
    applicationId "com.mycompany.newlogin"
    minSdkVersion 15
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}

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

}
useLibrary 'org.apache.http.legacy'
}



dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:multidex:1.0.0'
compile 'com.google.guava:guava-jdk5:17.0'
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:design:23.0.1'
//compile 'org.apache.httpcomponents:httpcore:4.4.1'
compile 'org.apache.httpcomponents:httpclient:4.5'
compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'

}
Run Code Online (Sandbox Code Playgroud)

我的清单文件是

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" …
Run Code Online (Sandbox Code Playgroud)

android virtual-machine android-multidex

15
推荐指数
1
解决办法
2万
查看次数

java.lang.ClassNotFoundException:dalvik.system.BaseDexClassLoader.findClass

我在Google Play开发者控制台中不断收到此错误报告.它看起来像MultiDex错误.

java.lang.RuntimeException: 
  at android.app.LoadedApk.makeApplication(LoadedApk.java:516)
  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4514)
  at android.app.ActivityThread.access$1500(ActivityThread.java:151)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1381)
  at android.os.Handler.dispatchMessage(Handler.java:110)
  at android.os.Looper.loop(Looper.java:193)
  at android.app.ActivityThread.main(ActivityThread.java:5299)
  at java.lang.reflect.Method.invokeNative(Native Method:0)
  at java.lang.reflect.Method.invoke(Method.java:515)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645)
  at dalvik.system.NativeStart.main(Native Method:0)

Caused by: java.lang.ClassNotFoundException: 
  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
  at android.app.Instrumentation.newApplication(Instrumentation.java:975)
  at android.app.LoadedApk.makeApplication(LoadedApk.java:511)
Run Code Online (Sandbox Code Playgroud)

我已经将它添加到gradle.build:

defaultConfig {
...
minSdkVersion 14
targetSdkVersion 21
...

// Enabling multidex support.
multiDexEnabled true
}

dependencies {
  compile 'com.android.support:multidex:1.0.0'
}
Run Code Online (Sandbox Code Playgroud)

 @Override
    protected void attachBaseContext(Context newBase) {
        super.attachBaseContext(newBase);
        try {
            MultiDex.install(this);
        }catch (RuntimeException e){
            e.printStackTrace();
        }catch (Exception e){ …
Run Code Online (Sandbox Code Playgroud)

java android classnotfoundexception android-multidex

15
推荐指数
1
解决办法
2845
查看次数

MultiDexTestRunner的哪个包?android.support.multidex或com.android.test.runner

页面http://developer.android.com/tools/building/multidex.html#testing 建议

   dependencies {
     compile 'com.android.support:multidex:1.0.1'
     androidTestCompile 'com.android.support:multidex-instrumentation:1.0.1'
   }
   android {
     defaultConfig {
        multiDexEnabled true
        testInstrumentationRunner "android.support.multidex.MultiDexTestRunner"
     }
  }
Run Code Online (Sandbox Code Playgroud)

但是在运行测试时会产生ClassNotFoundException.

API文档和dexdump显示有com.android.test.runner.MultiDexTestRunner.

所以如果我不相信文档而是指定

   dependencies {
     compile 'com.android.support:multidex:1.0.1'
     androidTestCompile 'com.android.support:multidex-instrumentation:1.0.1'
   }
  android {
     defaultConfig {
        multiDexEnabled true
        testInstrumentationRunner "com.android.test.runner.MultiDexTestRunner"
     }
   }
Run Code Online (Sandbox Code Playgroud)

然后我明白了

com/company/myapp/MyApp; had used a different Landroid/support/multidex/MultiDexApplication; during pre-verification 
...
IllegalAccessExceptionIllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation
Run Code Online (Sandbox Code Playgroud)

我怀疑doc页面是错误的,正确的路径是com.android.test.runner.MultiDexTestRunner ...加上我还有其他一些问题.

请注意,multidex应用程序工作正常.不知何故,第二个MultiDexApplication包含在测试apk中.

问题:
MultiDexTestRunner的正确路径是哪条?为什么我在测试apk中获得第二个MultiDexApplication?

android android-multidex

14
推荐指数
1
解决办法
6988
查看次数

更改为最新的Multidex后无法解析导入android.support.multidex.MultiDex

我想在我的应用程序中使用multidex,At First我使用了依赖: 'com.google.android:multidex:0.1'但是在编译之后出现了这个错误:

错误:任务':packageAllDebugClassesForMultiDex'的执行失败.

java.util.zip.ZipException:重复条目:android/support/multidex/BuildConfig.class

后来我改变'com.google.android:multidex:0.1''com.android.support:multidex:1.0.1',但之后,import android.support.multidex.MultiDex;在应用程序类解决不了,任何人都可以帮忙吗?

android android-multidex

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

使用不带Gradle的multiDexEnabled而是使用Eclipse构建过程

从最新的SDK版本开始,使用多个dex文件创建应用程序要简单得多(https://developer.android.com/tools/building/multidex.html),我的问题是,当我使用这个新功能时也可以使用我没有使用Gradle构建过程,而是使用"旧的"Eclipse构建链?

Gradle构建文件中的"multiDexEnabled true"也必须以其他方式传递给Android编译器吗?

eclipse android dex android-gradle-plugin android-multidex

13
推荐指数
1
解决办法
2056
查看次数

错误:程序类型已存在:android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat

升级到Android Studio 3.1后,我在构建期间开始出现以下错误.项目使用multidex,默认情况下启用DX,就像您在错误中注意到的那样.我试图检查依赖图以了解发生了什么,但到目前为止还没有任何线索.有趣的是,这只能在我的机器上失败.我清理了一切,包括重新安装等,但没有任何效果.

任何人都有同样的问题,你是如何解决的?或者我可以看看的任何方向?

AGPBI: {
    "kind":"error",
    "text":"Program type already present: android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat",
    "sources":[{}],
    "tool":"D8"
}
Run Code Online (Sandbox Code Playgroud)

这是失败的任务:

transformDexArchiveWithExternalLibsDexMergerForDebug
Run Code Online (Sandbox Code Playgroud)

我检查了类似的问题,似乎随机的东西修复了他们的问题,我不确定究竟是什么原因.

android build android-studio android-multidex

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

在Android的ant中启用`--multi-dex`选项

为gradle构建系统启用multi-dex选项很容易,但是我没有找到如何为ant构建启用此选项的示例.怎么归档这个?

ant android build-system android-multidex

12
推荐指数
1
解决办法
9833
查看次数

Android studio java.lang.NoClassDefFoundError:android.support.v4.app.NavUtilsJB

这是我用android studio 1.0.2实现的错误日志

02-03 13:05:23.831    8385-8385/com.******.*******E/AndroidRuntime?     FATAL EXCEPTION: main
    java.lang.NoClassDefFoundError: android.support.v4.app.NavUtilsJB
        at   android.support.v4.app.NavUtils$NavUtilsImplJB.getParentActivityName(NavUtils    .java:125)
        at android.support.v4.app.NavUtils.getParentActivityName(NavUtils.java:302)
        at android.support.v4.app.NavUtils.getParentActivityName(NavUtils.java:281)
        at android.support.v7.app.ActionBarActivityDelegateBase.onCreate(ActionBarActivityDelegateBase.java:142)
        at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:123)
        at com..******.*******.****.ActivityWelcome.onCreate(ActivityWelcome.java:33)
        at android.app.Activity.performCreate(Activity.java:5104)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
        at android.app.ActivityThread.access$600(ActivityThread.java:141)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:5041)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
        at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

组态

buildToolsVersion "21.1.2"
android SDK TOOLS"24.0.2"
multidex enabled
predexLibraries =false
incremental = true
jumboMode = false
  dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.android.gms:play-services:6.5.87'
    compile …
Run Code Online (Sandbox Code Playgroud)

java android android-multidex

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

我无法安装新发布的应用:错误代码:-504

我刚刚将我的应用程序发布到Google Play商店,并且已成功发布已签名的apk.但是,(我在三种不同的手机和平板电脑上试过这个),app从商店下载时拒绝安装.单击"安装"按钮后,应用程序将下载,状态将更改为"正在安装...",然后会出现以下对话框:

无法安装:错误代码:-504

可以做些什么?

有关我的应用程序的事实可以帮助排除故障:

  • 该应用的目标是API22,其minSDK为17.
  • 我没有使用proguard.
  • 该应用程序通过multidex支持库使​​用multidex.

应用程序/的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: 'me.tatarka.retrolambda'
apply plugin: 'io.fabric'

repositories {
    maven { url 'https://maven.fabric.io/public' }
    jcenter()
}

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "io.givenow.app"
        minSdkVersion 17
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"

        // Enabling multidex support.
        multiDexEnabled true
    }

    signingConfigs {
        debug {
            storeFile file('../debug.keystore') …
Run Code Online (Sandbox Code Playgroud)

android google-play android-multidex

12
推荐指数
1
解决办法
4008
查看次数

我的 android studio 中出现运行时异常:添加 MultiDex 后“无法获取文件列表和 NullPointerException”

我 在我的应用程序 gradle 文件中添加了依赖项 implementation 'com.android.support:multidex:1.0.3' 和 defaultconfig multiDexEnabled = true,现在我的构建 apk 处理成功,但是当我运行应用程序时,我在 logcat 中出现错误:

2020-03-23 17:17:16.312 13609-13609/? E/example.sahayo: Unknown bits set in runtime_flags: 0x28000
2020-03-23 17:17:16.401 13609-13639/? E/Perf: Fail to get file list com.example.sahayog
2020-03-23 17:17:16.402 13609-13639/? E/Perf: getFolderSize() : Exception_1 = java.lang.NullPointerException: Attempt to get length of null array
2020-03-23 17:17:16.402 13609-13639/? E/Perf: Fail to get file list com.example.sahayog
2020-03-23 17:17:16.402 13609-13639/? E/Perf: getFolderSize() : Exception_1 = java.lang.NullPointerException: Attempt to get length of null array
2020-03-23 17:17:16.403 …
Run Code Online (Sandbox Code Playgroud)

java android nullpointerexception android-multidex

12
推荐指数
0
解决办法
4950
查看次数