android - 无法验证dex文件乱序的注解_元素名_idx

标签 android gradle mobile build.gradle dex

我需要你的帮助。从更新我的gradle时出现运行时错误:

  • 实现'com.google.android.gms:play-services-auth:15.0.1'
  • 实现'com.facebook.android:facebook-android-sdk:4.27.0'

  • 至 :
  • 实现'com.google.android.gms:play-services-auth:15.0.1'
  • 实现'com.facebook.android:facebook-android-sdk:4.27.0'
  • 实现'com.google.android.gms:play-services-ads:15.0.1'
  • 实现'com.facebook.android:audience-network-sdk:4.27.0'

  • 错误日志:
    E / AndroidRuntime:致命异常:main
    进程:id.android.steven.dev,PID:5539
    java.lang.RuntimeException:无法实例化应用程序id.android.steven.MyApplication:java.lang.ClassNotFoundException:在路径:DexPathList [[zip file // data]上找不到类“id.android.steven.MyApplication” /app/id.android.steven.dev-2/base.apk“] ,nativeLibraryDirectories = [/ data / app / id.android.teven.dev-2 / lib / arm,/data/app/id.android .steven.dev-2 / base.apk!/ lib / armeabi-v7a,/ system / lib,/ vendor / lib]]
    在android.app.LoadedApk.makeApplication(LoadedApk.java:846)
    在android.app.ActivityThread.handleBindApplication(ActivityThread.java:5944)
    在android.app.ActivityThread.-wrap3(ActivityThread.java)
    在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1710)
    在android.os.Handler.dispatchMessage(Handler.java:102)
    在android.os.Looper.loop(Looper.java:154)
    在android.app.ActivityThread.main(ActivityThread.java:6776)
    在java.lang.reflect.Method.invoke(本机方法)
    在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1496)
    在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)
    原因: java.lang.ClassNotFoundException:在路径:DexPathList上找不到类“id.android.steven.MyApplication” [[zip文件“/data/app/id.android.steven.dev-2/base .apk“],nativeLibraryDirectories = [/ data / app / id.android.steven.dev-2 / lib / arm,/ data / app / id.android.steven.dev-2 / base.apk!/ lib / armeabi -v7a,/ system / lib,/ vendor / lib]]
    在dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
    在java.lang.ClassLoader.loadClass(ClassLoader.java:380)
    在java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    在android.app.Instrumentation.newApplication(Instrumentation.java:1000)
    在android.app.LoadedApk.makeApplication(LoadedApk.java:835)
    在android.app.ActivityThread.handleBindApplication(ActivityThread.java:5944)
    在android.app.ActivityThread.-wrap3(ActivityThread.java)
    在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1710)
    在android.os.Handler.dispatchMessage(Handler.java:102)
    在android.os.Looper.loop(Looper.java:154)
    在android.app.ActivityThread.main(ActivityThread.java:6776)
    在java.lang.reflect.Method.invoke(本机方法)
    在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1496)
    在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)
    禁止:java.io.IOException:无法从/data/app/id.android.steven.dev-2/base.apk打开dex文件,因为:无法验证dex文件'/data/app/id.android。 steven.dev-2 / base.apk':乱序的注解元素名称idx:681e,然后是681e
    在dalvik.system.DexFile.openDexFileNative(本机方法)
    在dalvik.system.DexFile.openDexFile(DexFile.java:373)
    在dalvik.system.DexFile。(DexFile.java:113)
    在dalvik.system.DexFile。(DexFile.java:78)
    在dalvik.system.DexPathList.loadDexFile(DexPathList.java:359)
    在dalvik.system.DexPathList.makeElements(DexPathList.java:323)
    在dalvik.system.DexPathList.makeDexElements(DexPathList.java:263)
    在dalvik.system.DexPathList。(DexPathList.java:126)
    在dalvik.system.BaseDexClassLoader。(BaseDexClassLoader.java:48)
    在dalvik.system.PathClassLoader。(PathClassLoader.java:64)
    在com.android.internal.os.PathClassLoaderFactory.createClassLoader(PathClassLoaderFactory.java:43)
    在android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:58)
    在android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:535)
    在android.app.LoadedApk.getClassLoader(LoadedApk.java:568)
    在android.app.ActivityThread.getTopLevelResources(ActivityThread.java:2053)
    在android.app.LoadedApk.getResources(LoadedApk.java:787)
    在android.app.ContextImpl。(ContextImpl.java:2266)
    在android.app.ContextImpl.createAppContext(ContextImpl.java:2210)
    在android.app.ContextImpl.createAppContext(ContextImpl.java:2196)
    在android.app.ActivityThread.handleBindApplication(ActivityThread.java:5861)
    ...另外8个

    提前致谢 :)

    最佳答案

    只需检查您的应用程序gradle中是否存在-overloadaggressively,此方法就会强制重载所有方法。如果使用-overloadaggressively,则将其禁用并使用另一种方法。

    请参阅this链接。

    关于android - 无法验证dex文件乱序的注解_元素名_idx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51948250/

    相关文章:

    android - 在圆弧的起点和终点画圆

    安卓.view.inflateException : Binary XML file line #11: Error inflating class fragment

    junit - 为 *.jar 文件指定 Gradle 依赖项

    java - Gradle多模块项目的Spring平台bom

    animation - 如何在 Xamarin.Forms 中为不透明度设置动画

    Android 浏览器报告错误的屏幕尺寸?

    android - 将 GPS 位置从 Android 应用程序发送到外部导航 map 并通过语音导航到那里

    java - DialogFragment 上的正向和负向按钮位置

    android - 错误:任务 ':app:ndkBuild'的执行失败。 >出现问题开始进程 'command ' ndk-build.cmd''

    mysql - 在将值插入数据库之前防止在数据库中重复输入