在另一个应用程序内解压缩/重新包装android应用程序

时间:2014-11-16 05:52:33

标签: android eclipse apk unpack

我有一个在第二个应用程序中使用资源的应用程序,并且在某些条件下应该更改第二个应用程序中的资源,现在我想解压缩我的主应用程序中的第二个.apk文件并更改其资源,然后重新打包并最终安装它。

所有两个应用程序都是我的,并使用eClipse LUNA创建。

如何在设备内执行此操作?

1 个答案:

答案 0 :(得分:1)

你不能,我的意思是它们是两个独立的应用程序,因为每个应用程序都在自己的进程中运行。

即你可以在 manifest.xml 中使用android:sharedUserId,这两个应用都应使用相同的证书进行签名

  

将与其他人共享的Linux用户ID的名称   应用。默认情况下,Android会为每个应用程序分配自己的应用   唯一的用户ID。但是,如果将此属性设置为相同的值   对于两个或更多应用程序,它们将共享相同的ID -   只要它们也由同一证书签署。   具有相同用户ID的应用程序可以访问彼此的数据,如果   期望,在同一过程中运行。

它将类似于以下

App 1

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.meg7.app1"
    android:sharedUserId="com.meg7.shared">

App 2

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.meg7.app2"
        android:sharedUserId="com.meg7.shared">

并在app1中使用以下内容

Context app2Context = this.createPackageContext( "com.meg7.app2", Context.CONTEXT_IGNORE_SECURITY);// CONTEXT_INCLUDE_CODE
app2Context.getResources().getDrawable(resId);

你是什么意思

  

第二个应用程序内的资源应该改变