android大杂烩--一个应用如何读取另一个apk中的资源

来源:互联网 发布:java中员工编号怎么编 编辑:程序博客网 时间:2024/05/09 21:58

一个应用如何读取另一个apk中的资源。

   在android系统中,apk之间可以相互读取数据的条件是:有同样的签名,并且AndroidManifest.xml文件中配置的android:sharedUserId属性值相同,那么两个apk运行在同一个进程中,可以互相访问任意数据。
方法如下:


   1) 应用程序和皮肤程序的AndroidManifest.xml中配置
                 例如: android:sharedUserId="com.kris.skin" ,值可以是做任意的,
   2) 文件与应用apk中对同一功能的皮肤文件名要一致
     例如:应用程序的背景图片路径:\SkinDemo\res\drawable-hdpi\bg.png
那么皮肤apk中的背景图片文件路径也应该是:
CustomSkin\res\drawable-hdpi\bg.png
   3)访问资源的方法
Context context = createPackageContext("com.yuchen.customskin", Context.CONTEXT_IGNORE_SECURITY); 

获取到org.yuchen.customskin对应的Context,通过返回的context对象就可以访问到org.yuchen.customskin中的任何资源。
   例如:应用apk要获得皮肤apk中的bg.png,
Drawable drawable = context.getResources().getDrawable(R.drawable.bg);

原创粉丝点击