【问题标题】:Update AOSP built-in system app更新 AOSP 内置系统应用
【发布时间】:2018-03-12 21:01:56
【问题描述】:

假设我们已经下载、构建和刷新了 AOSP 源代码。现在对系统应用进行了更改(例如更改了 packages/apps/Nfc 包中的常量)。

下一步就是构建它,有两种方法可以做到:

cd packages/apps/Nfc; mm

mmm Nfc

这将创建 out/target/product//system/app/NfcNci/NfcNci.apk 文件

更新系统应用的正确方法是什么?

我尝试使用 adb install NfcNci.apk 但没有成功:

~/android/aosp-7.1.2-3.10-v2/out/target/product/kugo/system/app/NfcNci$ adb install NfcNci.apk
Failed to install NfcNci.apk: Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install com.android.nfcnci without first uninstalling.]
~/android/aosp-7.1.2-3.10-v2/out/target/product/kugo/system/app/NfcNci$ adb install -r NfcNci.apk
Failed to install NfcNci.apk: Failure [INSTALL_FAILED_INVALID_APK: Package couldn't be installed in /data/app/com.android.nfcnci-1: Package /data/app/com.android.nfcnci-1/base.apk code is missing]

【问题讨论】:

    标签: android build android-source


    【解决方案1】:

    找到了一种轻松“重新安装”应用本身的方法(我们以设置应用为例):

    mmm packages/apps/Settings  # Build the module
    adb root ; adb remount  # Restart adbd as root and mount /system as writable
    adb push out/target/product/<device_name>/system/priv-app/Settings /system/priv-app  # Push the built files to the device
    

    然后强制关闭并重新启动应用程序(通过从 Recents 滑动它)。无需重启设备即可进行更改

    注意:根据应用程序,路径可能位于 system/app 而不是 /system/priv-app

    【讨论】:

      【解决方案2】:

      另一种方法是:

      1. 将新的apk复制到带有adb push的设备的sdcard
      2. mount /system 读写:mount -o rw,remount,rw /system
      3. 将 /sdcard 中的新 .apk 复制到 /system/app 中的旧 .apk 上
      4. 删除旧 .apk 的 .odex 文件
      5. 重启设备

      对于开发,您可以在此步骤中使用一个简单的脚本。

      【讨论】:

        【解决方案3】:

        检查 build/envsetup.sh 文件 - 还有命令 mmpmmmp 用于构建模块并将其推送到连接的设备。 adb sync 也可以用来同步整个镜像,所以如果你更新了一个模块,修改后的文件会被推送到设备上。

        您也可以通过常规的 `adb push' 放置更改的文件并重新启动设备。

        我不知道系统应用是否可以通过adb install 更新,可能可以,但我认为您需要在清单文件中增加内部版本号。

        我认为您不能使用adb install -r 卸载系统应用程序,因为无法从system 分区中删除应用程序,只能从data 中删除。我不知道你为什么在这种情况下得到 INSTALL_FAILED_INVALID_APK,可能是因为应用管理器确实无法卸载基本系统 apk。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-04-30
          相关资源
          最近更新 更多