やりたかったこと
インストール済みapkより古いapkを入れたかった
問題
システムアプリをアンインストール後インストールできなくなった
やったこと
1 . システムアプリをアンインストール
$ adb shell pm uninstall -k --user 0 <package>
2 . インストール済みパッケージの確認 → 1でuninstallしたpackageがないことを確認OK
$ adb shell pm list packages
3 . システムアプリをシステム領域にインストール
$ adb shell
$ push YourApp.apk /sdcard/
$ su
# mount -o rw,remount /system
# cp /sdcard/YourApp.apk /system/priv-app/YourApp
# chmod 644 /system/priv-app/YourApp/YourApp.apk
# reboot
4 . インストール済みパッケージの確認 → インストールしたはずのpackageがない🥶💧💧
解決策
アプリの有効化
adb shell cmd package install-existing <package>
解説
uninstall --user 0
は、システムアプリをアンインストールするのではなく、無効にするコマンドだった
アプリ本体(APK)は /system に存在し続けているがpm list packages
などで見えなくなっていただけだった
install-existing
で、存在しているシステムアプリを有効化(再登録) した