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

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