首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >APK 包在加固之前能够正常安装使用,加固之后的 apk 安装后会造成崩溃、无法打开。怎么解决呢?

APK 包在加固之前能够正常安装使用,加固之后的 apk 安装后会造成崩溃、无法打开。怎么解决呢?

提问于 2019-03-06 03:51:17
回答 2关注 0查看 1.4K

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 赋的值

加固之前运行正常

回答 2

找虫虫

发布于 2019-03-06 07:44:01

提供下具体报错信息,方便为你定位问题

用户4534474

提问者

发布于 2019-03-06 12:53:12

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 赋的值

加固之前运行正常

和开发者交流更多问题细节吧,去 写回答
相关文章
Android之apk加固介绍
在加固的过程中需要三个对象: 1、需要加密的Apk(源Apk) 2、壳程序Apk(负责解密Apk工作) 3、加密工具(将源Apk进行加密和壳Dex合并成新的Dex)
李小白是一只喵
2021/07/01
2.4K0
Android APK 加固重新签名
通过 ./gradlew assembleRelease 命令打包,此时的apk没有加固,不符合安全需要
草帽lufei
2022/07/29
3.8K0
Android APK  加固重新签名
360加固apk并自动签名
我们知道Android加混淆之后,代码的安全性得到了提高,即使你hook,反编译得到的也是乱码的,对于阅读性造成了影响,为了增强代码的破解难度,我们通常退对apk进行加固,常见的有腾讯,360,爱加密
xiangzhihong
2018/02/05
2.7K0
360加固apk并自动签名
APK多渠道加固打包笔记之360加固宝
首先需要知道V1,V2,V3签名的区别,可以参考之前的文章:AndroidV1,V2,V3签名原理详解
小柔
2022/10/09
1.6K0
APK多渠道加固打包笔记之360加固宝
【Android 安全】使用 360 加固宝加固应用 ( 加固工具准备 | 生成签名 APK | 加固操作 | 反编译验证加固效果 )
本博客用于记录下 360 加固保 加固应用流程 ; ( 上一次加固还是一年前 , 过程全忘了 o(╥﹏╥)o )
韩曙亮
2023/03/29
5.1K0
【Android 安全】使用 360 加固宝加固应用 ( 加固工具准备 | 生成签名 APK | 加固操作 | 反编译验证加固效果 )
APK加固之类抽取分析与修复
隐藏dex文件:通过对目标DEX文件进行整体加密或压缩方式把整个dex转换为另外一个文件存放在assets文件夹中或者其它地方,然后利用类加载器技术进行内存解密并加载运行。
我是小三
2018/08/08
2.2K1
APK加固之类抽取分析与修复
【Android 安全】Android 应用 APK 加固总结 ( 加固原理 | 应用加固完整的实现方案 | 源码资源 )
需要交叉编译 OpenSSL 得到 libcrypto.a 静态库 , 在应用中使用该静态库进行解码操作 ;
韩曙亮
2023/03/29
9K1
【Android 安全】Android 应用 APK 加固总结 ( 加固原理 | 应用加固完整的实现方案 | 源码资源 )
乐固加固常见问题
若第三方杀毒引擎提示您的应用存在安全风险,应用安全则会拒绝您的上传、同时拒绝对应用进行加固。一旦出现该情形,建议您检查应用中是否存在违规行为。若您将该应用发布出去,极大可能被渠道市场拒绝、无法在用户手机安装。对于此类应用,加固能否成功并非最核心要素,因为渠道分发、用户手机都会有类似的安全扫描,应用安全采信的第三方杀毒引擎也极有可能被各分发市场、用户手机上安装的安全软件采信。该类应用正真的问题在于,很难发布到正规市场、安装到用户手机上去,而非无法加固。
腾讯云@移动安全
2019/08/16
6.7K1
APP 加固添加签名后无法安装
使用腾讯云加固,下载后再次签名,签名成功之后的 apk 在华为鸿蒙、Android8 系统可以正常解析安装,在Android11 解析安装包失败
草帽lufei
2022/07/29
2.8K0
APP 加固添加签名后无法安装
浅谈安卓apk加固原理和实现
在安卓开发中,打包发布是开发的最后一个环节,apk是整个项目的源码和资源的结合体;对于懂点反编译原理的人可以轻松编译出apk的源码资源,并且可以修改资源代码、重新打包编译,轻轻松松变成自己的apk或者修改其中一部分窃取用户信息。
yuanyi928
2018/12/24
3.8K0
浅谈安卓apk加固原理和实现
APK加固之静态脱壳机编写入门
1.大家都知道Android中的程序反编译比较简单,辛苦开发出一个APK轻易被人反编译了,所以现在就有很多APK加固的第三方平台,比如爱加密和梆梆加固等。
我是小三
2018/08/08
2.1K0
APK加固之静态脱壳机编写入门
使用adb命令安装apk
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/132459.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/13
2.4K0
使用adb命令安装apk
如何脱壳加固过的Apk并利用其API“走近库”
打开首页,emm 就一个登录页面,没了 随便写点东西提交看看 天生手欠的我一不小心就多输了一个单引号 WDNMD,除了数字和字母其他都不行? 这叫我怎么测? 刚刚要放弃,就在这时,首页的一个二维码吸
重生信息安全
2020/03/06
1.5K0
安装一个apk引起的无法开机!
看完之后我立马回答:老大,这个我知道,一定是系统应用组的同学忘记在privapp-permissions-platform.xml文件下面加权限声明了。
用户9239674
2022/01/18
1.2K0
Android APK脱壳--腾讯乐固、360加固一键脱壳
启动 VirtualXposed,并在 VirtualXposed中安装 FDex2:
用户1205080
2018/10/18
17.8K4
Android APK脱壳--腾讯乐固、360加固一键脱壳
Android解决查看apk安装包
有时候我们需要查看打出的apk包中AndroidManifest.xml文件,但是打开之后发现是一大堆的乱码,这个时候就需要用工具来解决这个乱码问题了,下面介绍一下使用AXMLPrinter2.jar工具转码流程:
SoullessCoder
2021/09/07
1K0
linux可以运行apk(shell安装apk命令)
之前因为课程需要,也算是粗浅地了解过Linux,但是只是懂得一些编译内核,编译模块的知识,并没有把Linux当做日常使用的操作系统。但是最近因为实验的原因,对Linux有了兴趣,开始尝试将Linux作为日常使用的操作系统。特整理记录一些使用Linux常用知识,以供日后参考。
全栈程序员站长
2022/07/31
7.2K0
APK安装流程详解9——PackageParser解析APK(上)
为了让咱们更好的理解谷歌的安卓团队对PackageParser的定位,我们来看下PackageParser的注释
隔壁老李头
2018/08/30
6.1K0
APK安装流程详解9——PackageParser解析APK(上)
Android APK脱壳--腾讯乐固、360加固一键脱壳
参考文章:https://www.jianshu.com/p/138c9de2c987
bosh123
2021/01/24
13.7K0
APK安装流程详解10——PackageParser解析APK(下)
其中第一个parseBaseApk(File, AssetManager, int)方法,已经讲解过了,请参考APK安装流程详解9——PackageParser解析APK(上)中 五、PackageParse#parseMonolithicPackage(File, int)方法解析
隔壁老李头
2018/08/30
5.1K0
APK安装流程详解10——PackageParser解析APK(下)

相似问题

Android 9 乐固加固后打开崩溃,未加固apk安装没问题?

11.8K

APK加固失败?

1361

apk加固失败???

0337

android apk加固以后, tinker使用加固后的apk无法生成补丁包,请问需要怎么做?

0237

乐固加固后的apk在Android9.0上崩溃闪退,不加固的apk可以正常打开,这是啥原因?

21.6K
相关问答用户
腾讯 | 移动开发工程师擅长5个领域
新浪微博 | 高级总监擅长4个领域
某公司 | 程序员擅长1个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档