android - 为什么application复制到/system后没有变成系统应用?

标签 android linux nullpointerexception android-permissions

我有一个应用程序,我需要创建一个系统应用程序来给它一些额外的权限。我想通过将它移动到 /system/app 来做到这一点。我已经使用 ES File Explorer 来做到这一点。据我了解,该应用程序必须安装在 SD 卡 上,但即使如此,它也不会成为系统应用程序。这是我的尝试(任何与移动或修改文件相关的步骤都是使用 ES File Explorer 完成的):

- 不使用 SD 卡:

  1. 我使用 Android Studio 运行应用程序以在设备上安装 apk。

  2. 我打开/data/app 并复制 apk 文件。

  3. 我打开/system/app,粘贴 apk。

  4. 我重新启动设备。

  5. 我在屏幕上找到应用程序图标,我点击它,但它没有被授予系统权限。请注意,如果我在第 2 步中使用 cut 而不是 copy ,当我重新启动设备时我找不到应用程序图标,尽管它的 apk 位于 /系统/应用程序

- 使用 SD 卡时:

  1. 我使用 Android Studio 运行应用程序以在设备上安装 apk。

  2. 我打开/data/app 并剪切 apk 文件。

  3. 我打开/extSdcard 并粘贴 apk 文件。

  4. 我从/extSdCard 复制 apk,然后将其粘贴到/system/app。

  5. 我重新启动了设备。在这种情况下,我找到了应用程序图标,但是当我打开它时,我得到了这个 NullPointerException 错误。

编辑: 为了解决 NullPointerException 错误,我长按/system/app 中的应用程序图标,选择属性,单击权限旁边的更改,选中读取下的所有内容,仅选中写入下的所有者复选框,取消选中执行下的所有内容,然后我单击确定。 现在的问题是重启设备后,我找不到应用程序图标,虽然它的 apk 在/system/app 和/extSdCard/android/data 中,大小约为 47 MB​​,但是当我从设置中打开应用程序管理器时,我发现它有 sd 卡图标(不是 android 应用程序图标)并且大小为 0.0 B,为什么会这样?

如何将应用程序正确地设置为系统应用程序?

最佳答案

事实证明,我们必须使用 ES File Explorer 更改应用程序文件夹和 apk 文件权限。我遵循了本教程并且效果很好:

http://howto.highonandroid.com/android-how-to-tutorials/how-to-install-user-apps-as-system-apps-on-your-android/

关于android - 为什么application复制到/system后没有变成系统应用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36268239/

相关文章:

android - 在build.gradle中使用 'model.android.ndk'命令

android - 应用程序关闭时警报不起作用

android - Beta 版到生产版

linux - Haproxy 不使用 rsyslog 记录

java - setActivity 时出现 NullPointerException

Java btree 和 nullpointerException

android-support-v7-appcompat\res\values-v21 中断项目,除非我将 Project Build Target 设置为 API21

linux - 如何设置 libcurl 以使用 poll()

java - 带有静态变量的 NullPointerException

linux - 如何杀死 zsh 中的所有后台进程?