【发布时间】:2017-03-15 00:49:24
【问题描述】:
当您在 debug 模式下运行应用程序时,应用程序不会崩溃。但是当生成 .apk 文件 release 应用程序崩溃。 并非所有手机都会出现此错误,只有少数装有 android 6 的手机会出现此错误。
logcat 显示问题是类中的 NullPointerException (android.support.v4.widget.drawerlayout)。 NullPointerException 如何仅在发布 apk 上启动?
我们已经禁用了 proguard、minify 和 shrinkResources。没有解决这个错误。
这里有一些日志:
Attempt to invoke virtual method 'int android.view.WindowInsets.getSystemWindowInsetLeft()' on a null object reference
at android.support.v4.widget.i.a(Unknown Source)
at android.support.v4.widget.DrawerLayout$d.a(Unknown Source)
at android.support.v4.widget.DrawerLayout.onMeasure(Unknown Source)
at android.view.View.measure(View.java:18799)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.support.v7.widget.ContentFrameLayout.onMeasure(Unknown Source)
at android.view.View.measure(View.java:18799)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
【问题讨论】:
-
你能放一些抽屉布局的代码
-
你确定,你禁用缩小发布版本?看起来您仍然启用了 proguard:在 android.support.v4.widget.i.a i.a 它是混淆代码
-
发布您的 build.gradel 文件
android.support.v4.widget.i.a表明 prorogue 应用于您的 apk。 -
请发布抽屉代码。
-
请提供构建工具版本,支持库的版本号。
标签: java android apk release android-6.0-marshmallow