如何實現APK的靜默安裝

如何實現APK的靜默安裝java

Android上的靜默安裝是個很誘人的功能,可是Android系統的安全策略要求任何應用在安裝時應該提示APK安裝包的權限,僅僅只對於一些內置特定廠商應用,能夠跳過安裝過程的信息加快安裝,或者運營商強制安裝。若是安裝一個普通的APK也想實現靜默安裝,那麼應該怎麼辦呢?android

Android系統主控應用程序安裝的是PackageManager,咱們平時在安卓手機上看到的安裝界面是系統自帶的PackageInstaller.apk爲咱們提供的。這裏實現靜默安裝的思路是經過修改這個APK中顯示安裝界面的部分來達成實現靜默安裝的目的。這個過程以下:web

(1)首先找到PackageInstaller.apk的源碼,位於packages/apps/PackageInstaller中。以下:安全

 

這裏須要修改AndroidManifest.xml文件:app

把<application android:label="@string/app_name" spa

android:theme="@android :style/Theme.Holo.DialogWhenLarge">.net

改爲 <application android:label="@string/app_name" >orm

PackageInstallActivity <activity的主題改成server

android:theme="@android :style/Theme.NoDisplay"表示沒有窗口 xml

其它的<activity>……</activity>可根據須要進行調整。

(2)接着進packages/apps/PackageInstaller/src/com/android/packageinstaller

 

PackageInstallActivity.java這個Activity中首先檢查所欲安裝的程序是不是正確的安裝文件,以及當前系統中是否已安裝了此應用程序,提示用戶是否重複安裝,另外還獲取所欲安裝的程序所用到的權限,而後將這些信息經過一個對話框提示給用戶當用戶肯定安裝時,啓動InstallAppProgress.java這個Activity,在這個Activity中,調用android.content.pm.PackageManager.installPackage(Uri packageURI, IPackageInstallObserver observer, int flags, String installerPackageName)進行安裝應用程序

這裏須要修改PackageInstallActivity.java,去掉下面的dialog和對話框界面便可

安裝權限確認窗口:installPermissionConfirm

安裝進度條:installProgress

安裝結果窗口:installResult

安裝錯誤提示對話框

(3)修改完以後進行保存,必須隨系統源碼從新編譯一次。

相關文章
相關標籤/搜索