Android 跨APK访问另外一个APK的资源

在实际开发中我们经常会因为各种各样的原因(一般当然是公司内部的两款APK啦),需要能访问另外一个APK当中的资源(string、drawable等),但在android系统中由于安全的原因,APK之间一般是不能直接访问的,但是当满足一些条件其实也是可以的。

条件是什么呢?

1、同一个application下

2、Uid相同

3、permission匹配

4、目标Activity的属性Android:exported=”true”

5、目标Activity具有相应的IntentFilter,存在Action动作或其他过滤器并且没有设置exported=false

6、启动者的Pid是一个System Server的Pid

7、启动者的Uid是一个System Uid(Android规定android.system.uid=1000,具有该Uid的application,我们称之为获得Root权限)

如果上述调节,满足一条,一般即可(与其他几条不发生强制设置冲突),否则,将会得到Permission Denial的Exception而导致Force Close。

访问的方法

Context slaveContext = null;

try {
    slaveContext = this.createPackageContext("com.test.slave", Context.CONTEXT_IGNORE_SECURITY);
} catch (NameNotFoundException e) {
    e.printStackTrace();
}


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android apk分析器(ApkAnalyzer)是一个用于分析和查看Android应用程序(apk文件)的工具。它可以帮助开发者深入了解应用程序的内部结构和信息,以便在开发和调试过程中提供更多的支持。 ApkAnalyzer的源代码是开放的,由Android开源社区提供。它使用Java编程语言编写,使用了Android SDK中的相关类库和工具,如aapt、dex2jar等。 ApkAnalyzer的主要功能包括: 1. 分析APK文件的内容:ApkAnalyzer可以解析APK文件的目录结构和资源文件,从而了解应用程序的组织结构和内容。它可以展示应用程序的AndroidManifest.xml文件资源文件、dex文件等。 2. 查看应用程序的权限:ApkAnalyzer可以显示应用程序在AndroidManifest.xml文件中声明的权限信息,帮助用户了解应用程序需要访问的敏感权限。 3. 显示应用程序的依赖项:ApkAnalyzer可以分析APK文件中包含的库文件和依赖项,帮助开发者了解应用程序所使用的第三方库和组件。 4. 反编译应用程序的代码:ApkAnalyzer可以将应用程序的dex文件反编译为Java源代码,使得开发者能够查看和分析应用程序的代码逻辑和实现细节。 5. 检查APK文件的大小和资源使用情况:ApkAnalyzer可以统计应用程序使用的资源文件文件大小,帮助开发者优化应用程序的性能和包大小。 总之,Android ApkAnalyzer源码是一个非常有用的工具,它提供了一种便捷的方式来分析和了解Android应用程序的内部结构和信息。开发者可以通过阅读源码了解其实现细节,并根据自己的需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值