android - 应用程序从已签名的 APK 而不是 Android Studio 崩溃

标签 android

我的应用程序从 Android Studio 安装时运行良好,但一旦我安装并签署 APK 到任何设备,该应用程序将无法运行。以下是来自 Google Play 开发者控制台提供的 friend 设备的故障转储。显然它与布局有关,但我不确定是什么导致了它在发布版本中而不是在测试中。当我在我的设备上测试它并且在 android studio 中没有错误时,没有出现错误。我对开发还很陌生,所以我不确定该怎么做。任何帮助或建议将不胜感激。

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.j.a.p/com.j.a.p.MainActivity}: android.view.InflateException: Binary XML file line #11: Binary XML file line #11: Error inflating class android.support.design.widget.NavigationView
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3253)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349)
        at android.app.ActivityThread.access$1100(ActivityThread.java:221)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:158)
        at android.app.ActivityThread.main(ActivityThread.java:7224)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
    Caused by: android.view.InflateException: Binary XML file line #11: Binary XML file line #11: Error inflating class android.support.design.widget.NavigationView
        at android.view.LayoutInflater.inflate(LayoutInflater.java:551)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:380)
        at android.support.v7.a.w.a(SourceFile:257)
        at android.support.v7.a.p.setContentView(SourceFile:109)
        at com.j.a.p.MainActivity.onCreate(SourceFile:31)
        at android.app.Activity.performCreate(Activity.java:6876)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3206)
        ... 9 more
    Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class android.support.design.widget.NavigationView
        at android.view.LayoutInflater.createView(LayoutInflater.java:657)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:847)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:527)
        ... 17 more
    Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Constructor.newInstance(Native Method)
        at android.view.LayoutInflater.createView(LayoutInflater.java:631)
        ... 22 more
    Caused by: android.view.InflateException: Binary XML file line #17: Binary XML file line #17: Error inflating class android.support.design.internal.NavigationMenuView
        at android.view.LayoutInflater.inflate(LayoutInflater.java:551)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
        at android.support.design.internal.c.a(SourceFile:97)
        at android.support.design.widget.NavigationView.<init>(SourceFile:165)
        at android.support.design.widget.NavigationView.<init>(SourceFile:94)
        ... 24 more
    Caused by: android.view.InflateException: Binary XML file line #17: Error inflating class android.support.design.internal.NavigationMenuView
        at android.view.LayoutInflater.createView(LayoutInflater.java:657)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:498)
        ... 28 more
    Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Constructor.newInstance(Native Method)
        at android.view.LayoutInflater.createView(LayoutInflater.java:631)
        ... 31 more
    Caused by: java.lang.IllegalStateException: Binary XML file line #17: Error creating LayoutManager android.support.v7.widget.LinearLayoutManager
        at android.support.v7.widget.RecyclerView.a(SourceFile:540)
        at android.support.v7.widget.RecyclerView.<init>(SourceFile:485)
        at android.support.design.internal.NavigationMenuView.<init>(SourceFile:39)
        at android.support.design.internal.NavigationMenuView.<init>(SourceFile:35)
        ... 33 more
    Caused by: java.lang.NoSuchMethodException: <init> []
        at java.lang.Class.getConstructor(Class.java:528)
        at java.lang.Class.getConstructor(Class.java:492)
        at android.support.v7.widget.RecyclerView.a(SourceFile:537)
        ... 36 more
    Caused by: java.lang.NoSuchMethodException: <init> [class android.content.Context, interface android.util.AttributeSet, int, int]
        at java.lang.Class.getConstructor(Class.java:528)
        at java.lang.Class.getConstructor(Class.java:492)
        at android.support.v7.widget.RecyclerView.a(SourceFile:532)
        ... 36 more

最佳答案

尝试删除项目中的 proguard 目录在任何 proguard 文件上,例如 proguard-android.txt 或 proguard-rules.pro。

第二个选项 - 在你的 build.gradle 文件中尝试

 buildTypes {

        debug {
            minifyEnabled false

        }
        release {
            minifyEnabled false

        }
    }

使用任何选项或两者的组合

关于android - 应用程序从已签名的 APK 而不是 Android Studio 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39694831/

相关文章:

android - 在 onItemLongClick 中显示 AlertDialog 会给出有关父项的错误,我必须做什么?

android - 使用数据库中的数据添加标记谷歌地图

Android 如何将 emoji 转换成 Logcat 打印?

Android 膨胀 View

android - 0 台设备支持的应用

android - 表格行中的多行 TextView 未正确换行

带有 Phonegap 的 Android 应用程序在横向旋转时崩溃

Android onTouchListener 不起作用,仅在 Padding 区域起作用

Android 忽略 maxWidth

android - 无法将 facebook 个人资料图片设置为 Imageview