對不起,我的英語不好。我想弄清楚如何以編程方式在沒有 root 的情況下靜默安裝(或刪除)APK 文件。首先我添加android:sharedUserId="android.uid.system"到清單和權限<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.INSTALL_PACKAGES" tools:ignore="ProtectedPermissions" /> <uses-permission android:name="android.permission.DELETE_PACKAGES" tools:ignore="ProtectedPermissions"/>安裝和刪除代碼 public void installApp(File file){ try { final String command = "pm install " + file.getPath(); Process proc = Runtime.getRuntime().exec(new String[] {command }); proc.waitFor(); } catch (Exception e) { e.printStackTrace(); } } public void deleteApp(String appPackage){ try { final String command = "pm uninstall " + appPackage; Process proc = Runtime.getRuntime().exec(new String[] {command }); proc.waitFor(); } catch (Exception e) { e.printStackTrace(); } }據我所知,我需要制造商密鑰來簽署我的應用程序。我沒有找到 Android Studio 模擬器的密鑰,所以例如我從這里下載了 Android 4.4 r2 的圖像http://www.android-x86.org/releases/releasenote-4-4-r2(并將它安裝在Oracle VM)并從這里獲得密鑰https://sourceforge.net/p/android-x86/build/ci/android-x86-4.4-r2/tree/target/product/security/。據我所知platform.x509.pem,platform.pk8關鍵是什么我需要。我用signapk.jar這樣的東西簽署了我的應用程序java -jar signapk.jar platform.x509.pem platform.pk8 app.apk signapp.apk。一些已簽名的 apk 不想安裝時出現錯誤,App conflicts with existing package by the same name或者我的設備與此 Apk 不兼容,但沒有簽名就一切正常。我嘗試過不同的圖像、密鑰對和模擬器,但沒有成功,我做錯了什么?
添加回答
舉報
0/150
提交
取消