如何将应用程序/ apk转换为系统/用户应用程序,包括拆分应用程序

and*_*per 5 android root apk android-install-apk

背景

没有root用户,我知道可以使用Intent安装一个普通的APK(此处)。

给定root,我知道可以使用this安装它。

这将像正常安装过程一样将应用程序安装为用户应用程序。

还有一种方法来安装拆分式APK应用程序(在此处),尽管由于某种原因我没有成功使用它。

问题

我想知道如何将应用程序转换和/或安装为系统安装的应用程序,然后再转换为用户应用程序。

这包括尚未安装的应用程序和已经安装的应用程序的APK文件。

我发现了什么

我发现了一些很旧的方式将现有的应用程序(或安装一个新的)到系统的应用程序(在这里,例如或这里),称(简称),我应该只是移动APK文件转换成/system/app/路径。

事实是,这可能在过去有效,但现在却没有。我认为这是因为现在的应用程序/system/app/以不同的方式存在:每个应用程序都有一个文件夹,其中包含一些文件。

至于转换回用户应用程序,我找不到它。将拆分的APK应用程序安装到系统应用程序并将其转换回用户应用程序也是如此。

实际上,我记得Play商店中有一些应用程序(例如这一类),可以将其他应用程序很好地转换为系统应用程序(使用root)-现在无法执行任何操作。

问题

  1. 将应用安装/转换为系统应用的方法何时生效?为什么它不再起作用了?

  2. 在旧版和新版Android上,将应用程序安装/转换为系统应用程序,然后再转换回用户应用程序应怎么做?

  3. 分离式应用程序(例如:AirBnb应用程序)或至少已安装的应用程序是否可能具有相同的作用?

WMG*_*WMG 0

下面描述的过程并不适用于每个 Android 构建版本,但在大多数情况下它会按预期工作。

1 - 安装/转换应用程序到系统应用程序的方法何时起作用?怎么现在不行了呢?

您有两种情况来安装应用程序(例如系统应用程序)。

  1. 构建 Android 映像时,您可以将需要系统权限的应用程序放在/system/app文件夹中,构建系统将使用平台密钥对其进行签名,并且它将作为系统应用程序运行。

  2. 获得已安装映像的 root 权限后如果您可以以 root 用户身份访问您的 Android 系统,那么您只需将某个应用程序推送到/system/appAndroid 设备上的目录即可。

2 - 在旧版和新版 Android 上,应如何安装/转换应用程序到系统应用程序,然后返回用户应用程序?

如果您想让您的应用程序成为系统应用程序,您需要android:sharedUserId="android.uid.system"在 AndroiManifest.xml 文件中添加 as application 属性

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:sharedUserId="android.uid.system"
        android:theme="@style/AppTheme">
Run Code Online (Sandbox Code Playgroud)

对于大多数自定义图像,提供了制造商工具包,它可用于通过系统应用程序创建新的图像文件。如果您没有这样的工具,您可以root您的设备并将apk文件推送到system/app目录。根据我的理解,我们没有任何直接的方法将系统应用程序恢复为用户应用程序。您可以做的就是简单地卸载系统应用程序并再次将其安装为用户应用程序。

3 - 拆分 apk 应用程序(例如:AirBnb 应用程序)或至少已安装的应用程序是否可以实现同样的效果?

上述过程应该适用于 split-apk 应用程序。但无法确认,因为我之前没有经验。


归档时间:

查看次数:

1178 次

最近记录:

6 年,6 月 前