AndroidChangeSkin icon indicating copy to clipboard operation
AndroidChangeSkin copied to clipboard

Demo Crash in Nexus6p NullPointException

Open imesong opened this issue 9 years ago • 2 comments

在nexus6p上点击 插件换肤1 ,直接发生crash 。日志如下

 java.lang.NullPointerException: Attempt to read from field 'java.lang.String android.content.pm.PackageInfo.packageName' on a null object reference
                                                                           at com.zhy.changeskin.SkinManager.validPluginParams(SkinManager.java:112)
                                                                           at com.zhy.changeskin.SkinManager.checkPluginParamsThrow(SkinManager.java:119)
                                                                           at com.zhy.changeskin.SkinManager.changeSkin(SkinManager.java:208)
                                                                           at com.zhy.changeskin.SkinManager.changeSkin(SkinManager.java:186)
                                                                           at com.zhy.skinchangenow.MenuLeftFragment$2.onClick(MenuLeftFragment.java:53)
                                                                           at android.view.View.performClick(View.java:5204)
                                                                           at android.view.View$PerformClick.run(View.java:21153)
                                                                           at android.os.Handler.handleCallback(Handler.java:739)
                                                                           at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                           at android.os.Looper.loop(Looper.java:148)
                                                                           at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                           at java.lang.reflect.Method.invoke(Native Method)
                                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

debug 下,是因为6.0 系统上,获取PackageInfo的方法不兼容照成的。SkinManager 112行。

imesong avatar Jan 08 '16 06:01 imesong

4.4 的设备上是ok 的

imesong avatar Jan 08 '16 06:01 imesong

恩,对于6.0,主要因为权限机制的变化,我暂时没有做处理,由于需要读取sdcard的权限。

通过settings->app->AndroidChangeSkin然后把Storage的权限开启,再进行测试就好了。

后面有时间会对6.0的权限做一下处理,多谢反馈~

hongyangAndroid avatar Jan 08 '16 12:01 hongyangAndroid