我有一个应用程序,我需要创建一个系统应用程序,以赋予它一些额外的权限。我希望将其移至/system/app
。我使用ES File Explorer
来做到这一点。根据我的理解,该应用必须安装在SD Card
上,但即便如此,它也不会成为系统应用。以下是我的尝试(与移动或修改文件相关的任何步骤都是使用ES File Explorer
)完成的:
- 不使用SD卡:
我使用Android Studio运行应用程序,在设备上安装apk。
我打开/ data / app并复制apk文件。
我打开/ system / app,我粘贴了apk。
我重新启动设备。
我在屏幕上找到应用程序图标,我单击它,但未授予系统权限。请注意,如果我在步骤2中使用剪切而不是复制,那么当我重新启动设备时,我找不到应用图标,尽管它是' s apk是/system/app
。
- 使用SD卡时:
我使用Android Studio运行应用程序,在设备上安装apk。
我打开/ data / app并剪切apk文件。
我打开/ extSdcard并粘贴apk文件。
我从/ extSdCard复制apk,然后将其粘贴到/ system / app中。
我重新启动设备。在这种情况下,我找到了应用程序图标,但是当我打开它时,我得到了这个NullPointerException错误。
修改 要解决NullPointerException错误,我要长时间点击/ system / app中的应用程序图标,选择属性,单击权限旁边的更改,检查读取下的所有内容,只检查写入下的所有者复选框,然后取消选中执行下的所有内容,然后我单击确定。 现在的问题是在重新启动设备后,我找不到应用程序图标,虽然它在/ system / app和/ extSdCard / android / data中大小约为47 MB,但当我打开时来自设置的应用程序管理器,我发现它带有SD卡图标(不是Android应用程序图标),大小为0.0 B,为什么会发生这种情况?
如何将应用程序正确地制作为系统应用程序?
答案 0 :(得分:0)
事实证明,我们必须使用ES File Explorer
更改app文件夹和apk文件权限。我按照本教程进行了很好的工作: