最近做了一個Android項目,要求軟件能夠自動下載指定的APK文件并自動安裝,無須用戶操作,即靜默安裝。在查閱了GOOGLE之后,綜合了各位方法之后,找到了一種相對簡化的方法,不過此方法只在4.0的Android版本下測試過,其它版本各位可以照此方法嘗試一下。
想要做到靜默安裝,其實就是要有權限執行pm install命令。準備工作其實就兩步:
1、獲取執行權限
2、執行命令
我們首先介紹第二步,如何執行pm install命令:
關鍵代碼其實就一句:
Runtime.getRuntime().exec(
"pm install xxx.apk"
);
網上也有人提到利用BufferReader讀取控制臺的輸出Success來判斷是否安裝成功,但我始終沒有抓到最后輸出的那一句Success,只好用Package install的receiver來處理安裝成功后的操作。
再回到如何獲取權限的方法,
1、首先,我們要做的就是從Android的系統源碼的
/build/target/product/security目錄
中,找到兩個簽名文件: platform.x509.pem和platform.pk8
2、在
/build/tools/signapk目錄下找到signapk.jar文件的源碼,編譯成signapk.jar文件
3、然后在Android項目的manifest.xml文件中,加上INSTALL_PACKAGES的權限。
4、導出apk文件,這里選擇簽名文件導出。右鍵項目->"Android Tools"->"Export Signed application Package..."
5、最后就是執行
jarsignapk.jarplatform.
x509
.pemplatform.pk8 簽名的apk 目標文件.apk
由此生成的目標文件apk就可以正常安裝在Android中,并可以靜默安裝任意指定的apk文件了。
文中所需的三個文件 下載 :
signapk.jar
platform.x509.pem
platform.pk8
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
