APK 包在加固之前能够正常安装使用,加固之后的 apk 安装后会造成崩溃、无法打开。是为什么呢?
已经确保了签名文件一致性。
03-06 18:24:25.647 6224 6224 D AndroidRuntime: Shutting down VM
03-06 18:24:25.649 6224 6224 E AndroidRuntime: FATAL EXCEPTION: main
03-06 18:24:25.649 6224 6224 E AndroidRuntime: Process: com.oneapp.max.cleaner.booster.cn:work, PID: 6224
03-06 18:24:25.649 6224 6224 E AndroidRuntime: java.lang.RuntimeException: Unable to get provider com.ihs.device.monitor.usage.query.AppUsageProvider: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
03-06 18:24:25.649 6224 6224 E AndroidRuntime: at android.app.ActivityThread.installProvider(ActivityThread.java:6717)
03-06 18:24:25.649 6224 6224 E AndroidRuntime: at android.app.ActivityThread.installContentProviders(ActivityThread.java:6215)
03-06 18:24:25.649 6224 6224 E AndroidRuntime: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6132)
03-06 18:24:25.649 6224 6224 E AndroidRuntime: at android.app.ActivityThread.-wrap1(Unknown Source:0)
03-06 18:24:25.649 6224 6224 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1839)
03-06 18:24:25.649 6224 6224 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
03-06 18:24:25.649 6224 6224 E AndroidRuntime: at android.os.Looper.loop(Looper.java:197)
03-06 18:24:25.649 6224 6224 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7022)
03-06 18:24:25.649 6224 6224 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
03-06 18:24:25.649 6224 6224 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:515)
03-06 18:24:25.649 6224 6224 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:837)
03-06 18:24:25.649 6224 6224 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
03-06 18:24:25.649 6224 6224 E AndroidRuntime: at com.ihs.device.monitor.usage.query.AppUsageProvider.onCreate(Unknown Source:12)
03-06 18:24:25.649 6224 6224 E AndroidRuntime: at android.content.ContentProvider.attachInfo(ContentProvider.java:1951)
03-06 18:24:25.649 6224 6224 E AndroidRuntime: at android.content.ContentProvider.attachInfo(ContentProvider.java:1926)
03-06 18:24:25.649 6224 6224 E AndroidRuntime: at android.app.ActivityThread.installProvider(ActivityThread.java:6714)
03-06 18:24:25.649 6224 6224 E AndroidRuntime: ... 10 more
AppUsageProvider.java
public boolean onCreate() {
matcher.addURI(HSApplication.getContext().getPackageName() + "." + this.getClass().getName(), "query_app_usage", 1);
matcher.addURI(HSApplication.getContext().getPackageName() + "." + this.getClass().getName(), "query_app_mobile_usage", 2);
matcher.addURI(HSApplication.getContext().getPackageName() + "." + this.getClass().getName(), "query_app_mobile_usage_detail", 3);
return true;
}
HSApplication.getContext() 这个方法 return的Context是在Application attachBaseContext 赋的值
加固之前运行正常
相似问题