使用Android Studio實現(xiàn)為系統(tǒng)級的app簽名
我們在做系統(tǒng)級的app開發(fā)時,往往會在AndroidManifest.xml文件中添加:android:sharedUserId=”android.uid.system”以獲取系統(tǒng)級的權(quán)限,如果你正在使用Android Studio進(jìn)行開發(fā),編譯生成的apk會因為簽名問題無法安裝。
此時有兩個解決方案,
1,是將編譯好的apk放入源碼中vender目錄下,編寫相應(yīng)的android.mk文件,并在文件中加入:
LOCAL_CERTIFICATE := platform
然后使用“mmm your_apk_file”編譯你的apk。
之后會在”out/target/product/youProduct/system/priv-app”下生成對應(yīng)的帶簽名的apk文件。
第二種,就是下邊將要介紹的,對于習(xí)慣使用ide的同學(xué)準(zhǔn)備的。
一.準(zhǔn)備
首先要準(zhǔn)備keytool-importkeypair工具,和簽名所需的系統(tǒng)簽名文件。
下載keytool-importkeypair
https://github.com/getfatday/keytool-importkeypair
簽名文件
build/target/product/security/ platform.x509.pem、platform.pk8
二、使用Android studio 生成自己的jks文件
打開新建key的界面:
build->Generate Signed APK…
填寫jks路徑、密碼、別名等信息,點擊OK生成jks文件
三、使用keytool-importkeypair工具為生成的jks文件添加系統(tǒng)簽名。
首先配置keytool-importkeypair的環(huán)境變量,在user文件夾下新建bin目錄,將keytool-importkeypair復(fù)制到bin目錄下,然后將bin目錄添加到PATH變量中。
export PATH=$PATH:/home/username/bin;
將兩個系統(tǒng)簽名文件platform.x509.pem、platform.pk8復(fù)制到j(luò)ks文件所在的目錄中,運行以下命令為簽名文件添加系統(tǒng)簽名:
keytool-importkeypair -k [jks文件名] -p [jks的密碼] -pk8 platform.pk8 -cert platform.x509.pem -alias [jks的別名]
四、配置gradle文件使用簽名文件
配置build.gradle文件(Module:app),在Android{}代碼塊中添加如下代碼:
signingConfigs { release { storeFile file('/home/mi/android_key/mykey_e8.jks') storePassword ’android’ keyAlias ’platform’ keyPassword ’android’ } debug { storeFile file('/home/mi/android_key/mykey_e8.jks') storePassword ’android’ keyAlias ’platform’ keyPassword ’android’ } }
五、編譯運行
點擊run或者debug運行app,這樣裝在手機(jī)后就能夠正確運行了。
以上這篇使用Android Studio實現(xiàn)為系統(tǒng)級的app簽名就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. python實現(xiàn)讀取類別頻數(shù)數(shù)據(jù)畫水平條形圖案例2. 關(guān)于HTML5的img標(biāo)簽3. php5.6不能擴(kuò)展redis.so的解決方法4. python 爬取嗶哩嗶哩up主信息和投稿視頻5. CSS3實現(xiàn)動態(tài)翻牌效果 仿百度貼吧3D翻牌一次動畫特效6. python 如何停止一個死循環(huán)的線程7. ASP.NET MVC前臺動態(tài)添加文本框并在后臺使用FormCollection接收值8. JSP動態(tài)實現(xiàn)web網(wǎng)頁登陸和注冊功能9. Java 基于UDP協(xié)議實現(xiàn)消息發(fā)送10. PHP獲取時間戳等相關(guān)函數(shù)匯總
