我有一个应用程序,我需要创建一个系统应用程序来给它一些额外的权限。我想通过将它移动到 /system/app
来做到这一点。我已经使用 ES File Explorer
来做到这一点。据我了解,该应用程序必须安装在 SD 卡
上,但即使如此,它也不会成为系统应用程序。这是我的尝试(任何与移动或修改文件相关的步骤都是使用 ES File Explorer
完成的):
- 不使用 SD 卡:
我使用 Android Studio 运行应用程序以在设备上安装 apk。
我打开/data/app 并复制 apk 文件。
我打开/system/app,粘贴 apk。
我重新启动设备。
我在屏幕上找到应用程序图标,我点击它,但它没有被授予系统权限。请注意,如果我在第 2 步中使用 cut 而不是 copy ,当我重新启动设备时我找不到应用程序图标,尽管它的 apk 位于
/系统/应用程序
。
- 使用 SD 卡时:
我使用 Android Studio 运行应用程序以在设备上安装 apk。
我打开/data/app 并剪切 apk 文件。
我打开/extSdcard 并粘贴 apk 文件。
我从/extSdCard 复制 apk,然后将其粘贴到/system/app。
我重新启动了设备。在这种情况下,我找到了应用程序图标,但是当我打开它时,我得到了这个 NullPointerException 错误。
编辑: 为了解决 NullPointerException 错误,我长按/system/app 中的应用程序图标,选择属性,单击权限旁边的更改,选中读取下的所有内容,仅选中写入下的所有者复选框,取消选中执行下的所有内容,然后我单击确定。 现在的问题是重启设备后,我找不到应用程序图标,虽然它的 apk 在/system/app 和/extSdCard/android/data 中,大小约为 47 MB,但是当我从设置中打开应用程序管理器时,我发现它有 sd 卡图标(不是 android 应用程序图标)并且大小为 0.0 B,为什么会这样?
如何将应用程序正确地设置为系统应用程序?
最佳答案
事实证明,我们必须使用 ES File Explorer
更改应用程序文件夹和 apk 文件权限。我遵循了本教程并且效果很好:
关于android - 为什么application复制到/system后没有变成系统应用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36268239/