标签: android-multidex

无法导入 MultiDexApplication

我有一个用 react native 构建的应用程序,我需要启用MultiDex支持。我的问题是我无法导入MultiDexApplication类来扩展它,因为在编译时我在扩展它时同时获得symbol not found error了导入语句和类名MainApplication.java

build.gradle

    dependencies {
        classpath('com.android.tools.build:gradle:3.5.3')
        classpath 'com.google.gms:google-services:4.2.0'
        classpath "androidx.multidex:multidex:2.0.1"

    }
Run Code Online (Sandbox Code Playgroud)

如果我尝试将依赖项添加为实现,则在启动应用程序时会出现以下错误:

Could not find method implementation() for arguments [androidx.multidex:multidex:2.0.1] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

在所有在线资源中,我看到依赖项是作为实现添加的,所以我想这可能是我的问题。

MainApplication.java

package com.classmanager;

import android.app.Application;
import androidx.multidex.MultiDexApplication;
import android.content.Context;
import com.facebook.react.PackageList;
import com.facebook.react.ReactApplication;
import com.oblador.vectoricons.VectorIconsPackage;
import com.oblador.vectoricons.VectorIconsPackage;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.soloader.SoLoader;
import java.lang.reflect.InvocationTargetException;
import java.util.List;

public class MainApplication extends MultiDexApplication  implements ReactApplication {
  private final ReactNativeHost mReactNativeHost =
      new ReactNativeHost(this) …
Run Code Online (Sandbox Code Playgroud)

java android android-multidex react-native

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

找不到类“android.provider.MediaStore$Downloads”

我正在使用鲍雷提供的代码,名称为private fun saveImage如何将位图保存到 android gallery来保存位图

为了解决 Kotlin 中已弃用的问题,我删除了这些行:

 //values.put(MediaStore.Images.Media.DATA, file.absolutePath) 
//context.contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values)
Run Code Online (Sandbox Code Playgroud)

并添加了这个:

 val contentValues = ContentValues()

 contentValues.put(MediaStore.Images.Media.RELATIVE_PATH, folderName)

 this.applicationContext.contentResolver.insert(MediaStore.Downloads.EXTERNAL_CONTENT_URI, contentValues)
Run Code Online (Sandbox Code Playgroud)

然后,我将该函数(在 DidtodayActivity 中)称为:

saveImage(bitmapImg, this.applicationContext)
Run Code Online (Sandbox Code Playgroud)

图像被下载到Phone>Android>Data>com.example.MyApp1>files>MyFiles。我可以在我的设备中看到下载的图像。

但是,由于这一行的运行时错误,活动文件突然关闭(并且直接打开activity_main .xml):

this.applicationContext.contentResolver.insert(MediaStore.Downloads.EXTERNAL_CONTENT_URI, contentValues)
Run Code Online (Sandbox Code Playgroud)

原因

java.lang.ClassNotFoundException: Didn't find class "android.provider.MediaStore$Downloads" on path: DexPathList[[zip file "/data/app/com.example.MyApp1-rvQQjSAj4NilLch2h12faQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.MyApp1-rvQQjSAj4NilLch2h12faQ==/lib/arm64, /data/app/com.example.MyApp1-rvQQjSAj4NilLch2h12faQ==/base.apk!/lib/arm64-v8a, /system/lib64]]
Run Code Online (Sandbox Code Playgroud)

详细信息:

**Didn't find class "android.provider.MediaStore$Downloads"** on path: DexPathList[[zip file "/data/app/com.example.MyApp1-rvQQjSAj4NilLch2h12faQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.MyApp1-rvQQjSAj4NilLch2h12faQ==/lib/arm64, /data/app/com.example.MyApp1-rvQQjSAj4NilLch2h12faQ==/base.apk!/lib/arm64-v8a, /system/lib64]]
Run Code Online (Sandbox Code Playgroud)

解析失败:Landroid/provider/MediaStore$Downloads;

模块级别的build.gradle是:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.google.gms.google-services'

android { …
Run Code Online (Sandbox Code Playgroud)

android mediastore kotlin android-multidex

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

Android Multidex和支持库

当我启用multidex时,我遇到了问题.我正在使用Android工作室,我在DrawerLayoutWidget上得到"找不到类".这是设置

的build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion '21.1.0'
    defaultConfig {
        applicationId 'com.myapp'
        minSdkVersion 14
        targetSdkVersion 21
        multiDexEnabled true

    }


}

dependencies {

    compile 'com.android.support:appcompat-v7:21.+'
    compile 'com.android.support:support-v4:21.+'
}   
Run Code Online (Sandbox Code Playgroud)

activity_main.xml中

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawerlayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">



    <FrameLayout
        android:id="@+id/frameContainer"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

    </FrameLayout>

    <ListView
        android:id="@+id/drawerList"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:choiceMode="singleChoice"
        android:divider="@color/drawerListDivider"
        android:dividerHeight="0dp"        
        android:listSelector="@drawable/drawer_list_selector"
        android:background="@color/drawerListBackground"/>
</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

这是我的catlog错误

12-07 00:41:15.239    4053-4053/com.myapplication W/dalvikvm? VFY: unable to resolve virtual method 503: Landroid/support/v4/widget/ViewDragHelper;.smoothSlideViewTo (Landroid/view/View;II)Z
12-07 00:41:15.239    4053-4053/com.myapplication D/dalvikvm? VFY: replacing opcode 0x6e at 0x0062
12-07 00:41:15.239    4053-4053/com.myapplication …
Run Code Online (Sandbox Code Playgroud)

android android-support-library android-multidex

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

Android Studio更新到1.0会破坏MultiDex

嗨有类似错误,如重复输入.

FAILURE:构建因异常而失败.

  • 出了什么问题:任务'执行失败':电子书:packageAllDebugClassesForMultiDex'.

    java.util.zip.ZipException:重复条目:android/support/annotation/AttrRes.class

  • 尝试:使用--stacktrace选项运行以获取堆栈跟踪.使用--info或--debug选项运行以获取更多日志输出.

建筑失败

总时间:1分钟46.13秒

apply plugin: 'com.android.application'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':ui-reader')

    compile "com.android.support:support-v4:23.1.1"
    compile "com.android.support:support-v13:20.0.0"
    compile files('libs/Flurry_3.2.1.jar')
}

android {
    compileSdkVersion 21
    buildToolsVersion "20.0.0"

    configurations {
        all*.exclude group: 'com.android.support', module: 'support-v4'
    }

    defaultConfig {
        // Enabling multidex support.
        multiDexEnabled true
    }

    lintOptions {
        abortOnError false
    }

    sourceSets {

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

        // …
Run Code Online (Sandbox Code Playgroud)

android android-studio android-multidex

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

java.util.zip.ZipException:重复条目:org/apache/http/HttpMessage.class

我收到以下错误.过去两天我没有尝试解决它,但没有解决问题.错误:任务':app:packageAllDebugClassesForMultiDex'的执行失败.

java.util.zip.ZipException:重复条目:org/apache/http/HttpMessage.class这里是我的build.gradle(app)

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)

}

请帮帮我.谢谢你提前.

android android-multidex

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

在Ionic框架中启用Android版Multidex

如果我使用Ionic Framework构建应用程序,有没有办法为Android 设置启用multidex(https://github.com/casidiablo/multidex)?

android ionic-framework android-multidex

3
推荐指数
2
解决办法
5722
查看次数

试图在MultiDex应用程序中测试Android模块,com.android.test.runner.MultiDexTestRunner无法识别

有人知道为什么我不能使用MultiDexTestRunner吗?

没有指定Instrumentation runner类

我的build.gradle包含:

android {
    ...
    defaultConfig {
        ...
        multiDexEnabled true

        testInstrumentationRunner 'com.android.test.runner.MultiDexTestRunner'
    }

dependencies {
...
    // Testing-only dependencies
    androidTestCompile 'com.android.support.test:runner:0.4.1'
    androidTestCompile 'com.android.support.test:rules:0.4.1'
    androidTestCompile 'junit:junit:4.12'
Run Code Online (Sandbox Code Playgroud)

Gradle的Android插件版本为2.0.0-alpha2(com.android.tools.build:gradle:2.0.0-alpha2)

//Runs all unit tests.
@RunWith(Suite.class)
@Suite.SuiteClasses({ACLTest.class})
public class UnitTestSuite {

    public UnitTestSuite() {}
}
Run Code Online (Sandbox Code Playgroud)

测试类:

@RunWith(AndroidJUnit4.class)
@MediumTest
public class ACLTest {

    static Context context;

    public ACLTest() {
    }

    @BeforeClass
    public static void setUpBeforeClass() {
        ...
        context = InstrumentationRegistry.getTargetContext();
    }

    @Before
    public void setUpBeforeTest() throws Exception {
      ...
    }


    @After
    public void tearDown() throws Exception …
Run Code Online (Sandbox Code Playgroud)

android unit-testing junit4 android-multidex android-studio-2.0

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

SugarORM + Multidex

我下载了SugarORM源代码以将其用作库模块(因此我可以覆盖应用程序的"attachBaseContext"方法.

我已经看到了SugarORM和multidex的问题,问题是我无法弄清楚如何将MultiDex库引用到我的新SugarORM库模块中.有人可以帮我解决这个问题吗?

错误页面截图

android sugarorm android-multidex

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

Android MultiDex应用程序在Android Studio 3.0上的低API上崩溃

我试图在API 16设备上运行需要使用Android Studio 3.0的MultiDex的应用程序,当应用程序最终尝试启动时,它会崩溃.其他低API也是如此(例如:17,18,19)

但是,当我尝试使用Android Studio 3.1(测试版)运行应用程序时,不会发生崩溃.

这种崩溃有什么办法可以修复吗?

   FATAL EXCEPTION: main
  java.lang.ExceptionInInitializerError
      at android.support.multidex.MultiDexApplication.<init>(MultiDexApplication.java:35)
      at MY_APP_PATH.MY_CUSTOM_APPLICATION_CLASS.<init>(MY_CUSTOM_APP_CLASS.java:23)
      at java.lang.Class.newInstanceImpl(Native Method)
      at java.lang.Class.newInstance(Class.java:1319)
      at android.app.Instrumentation.newApplication(Instrumentation.java:997)
      at android.app.Instrumentation.newApplication(Instrumentation.java:982)
      at android.app.LoadedApk.makeApplication(LoadedApk.java:496)
      at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4170)
      at android.app.ActivityThread.access$1400(ActivityThread.java:134)
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
      at android.os.Handler.dispatchMessage(Handler.java:99)
      at android.os.Looper.loop(Looper.java:137)
      at android.app.ActivityThread.main(ActivityThread.java:4867)
      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:1007)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:774)
      at dalvik.system.NativeStart.main(Native Method)
   Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1306]:  1674 cannot locate '__isnanf'...

      at java.lang.Runtime.loadLibrary(Runtime.java:370)
      at java.lang.System.loadLibrary(System.java:535)
      at com.android.tools.profiler.support.ProfilerService.<clinit>(ProfilerService.java:41)
      at android.support.multidex.MultiDexApplication.<init>(MultiDexApplication.java:35) 
      at MY_APP_PATH.MY_CUSTOM_APPLICATION_CLASS.<init>(MY_CUSTOM_APPLICATION_CLASS.java:23) 
      at java.lang.Class.newInstanceImpl(Native Method) 
      at java.lang.Class.newInstance(Class.java:1319) 
      at android.app.Instrumentation.newApplication(Instrumentation.java:997) 
      at …
Run Code Online (Sandbox Code Playgroud)

crash android android-multidex android-studio-3.0

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

DexException在Android中定义了多个dex文件

在我的android项目中,我使用了两个JAXB库jaxp-ri(用于XMLGregorianCalendarImpl类)和jaxb-api(用于对象到xml转换)。我已经在build.gradle文件中添加了这两个库。

但是当我构建项目时,出现以下提到的错误

Error:Error converting bytecode to dex:
Cause: com.android.dex.DexException: Multiple dex files define Ljavax/xml/stream/events/Namespace;
Error:com.android.dex.DexException: Multiple dex files define Ljavax/xml/stream/events/Namespace;
Error:  at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:661)
Error:  at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:616)
Error:  at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:598)
Error:  at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
Error:  at com.android.dx.merge.DexMerger.merge(DexMerger.java:198)
Error:  at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:61)
Error:  at com.android.builder.dexing.DexArchiveMergerCallable.call(DexArchiveMergerCallable.java:36)
Error:  at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
Error:  at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
Error:  at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
Error:  at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
Error:  at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Error:Execution failed for task ':app:transformDexArchiveWithDexMergerForDebug'.
> com.android.build.api.transform.TransformException: com.android.dex.DexException: Multiple dex files define Ljavax/xml/stream/events/Namespace;
Run Code Online (Sandbox Code Playgroud)

Build.gradle文件

dependencies {

    implementation fileTree(include: ['*.jar'], dir: 'libs')

    implementation 'com.android.support:appcompat-v7:26.0.0-beta1'

    implementation …
Run Code Online (Sandbox Code Playgroud)

android jaxb dex android-studio android-multidex

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