讓Android Studio支持系統(tǒng)簽名(證書(shū))

有時(shí)候缓呛,我們開(kāi)發(fā)的apk需要用到系統(tǒng)權(quán)限欣硼,需要在A(yíng)ndroidManifest.xml中添加共享系統(tǒng)進(jìn)程屬性:

android:sharedUserId="android.uid.system"
android:sharedUserId="android.uid.shared"
android:sharedUserId="android.media"

這時(shí)候apk的簽名就需要是系統(tǒng)簽名(platform先紫、shared或media)才能正常使用石抡。

常用系統(tǒng)簽名方式

Android源碼環(huán)境下簽名

這種方式比較麻煩赐纱,你需要有編譯過(guò)的源碼環(huán)境搅轿,并按如下步驟:

1病涨、拷貝App源碼到Android源碼的packages/apps/目錄下,且App源碼是普通(Eclipse)格式的
2璧坟、配置Android.mk既穆,在其中添加

LOCAL_CERTIFICATE := platform 或 shared 或 media

3、使用mm編譯App雀鹃,生成的apk即系統(tǒng)簽名


手動(dòng)重新簽名

這種方式比在源碼環(huán)境下簽名簡(jiǎn)單幻工,App可以在Eclipse或Android Studio下編譯,然后給apk重新簽名即可黎茎。
但這種方式在頻繁調(diào)試的時(shí)候比較痛苦囊颅,即使寫(xiě)成腳本,也需要重復(fù)一樣的操作傅瞻。

相關(guān)文件

platform.x509.pem踢代、platform.pk8、signapk.jar

文件位置

platform.x509.pem嗅骄、platform.pk8:

../build/target/product/security

signapk.jar:

../out/host/linux-x86/framework

signapk源碼路徑:

../build/tools/signapk
簽名命令
java -jar signapk.jar platform.x509.pem platform.pk8 old.apk new.apk
步驟

1胳挎、將相關(guān)文件及源apk文件置于同一路徑下
2、檢查源apk包溺森,去掉META-INF/CERT.SFMETA-INF/CERT.RSA 文件
3慕爬、執(zhí)行簽名命令即可


Android Studio系統(tǒng)簽名

讓Android Studio集成系統(tǒng)簽名,需要用到一個(gè)工具keytool-importkeypair屏积,詳見(jiàn)下文澡罚。

keytool-importkeypair

keytool-importkeypair – A shell script to import key/certificate pairs into an existing Java keystore

這個(gè)工具的作用是將系統(tǒng)簽名的相關(guān)信息導(dǎo)入到已有的簽名文件里∩銮耄可從這里下載留搔。

工具的使用方法可以通過(guò)--help或README.textile來(lái)尋求幫助,或參考使用keytool工具 這篇文章铛铁。

相關(guān)文件

platform.x509.pem隔显、platform.pk8却妨、keytool-importkeypair、demo.jks括眠、signature.sh

我的做法是在A(yíng)pp根目錄新建Signature文件夾專(zhuān)門(mén)存放簽名相關(guān)文件彪标。

步驟

1、生成demo.jks簽名文件

2掷豺、編寫(xiě)簽名腳本signature.sh捞烟,內(nèi)容如下:

#!/bin/sh

# 轉(zhuǎn)換平臺(tái)簽名命令
./keytool-importkeypair -k demo.jks -p 123456 -pk8 platform.pk8 -cert platform.x509.pem -alias demo

# demo.jks : 簽名文件
# 123456 : 簽名文件密碼
# platform.pk8、platform.x509.pem : 系統(tǒng)簽名文件
# demo : 簽名文件別名

為腳本文件添加可執(zhí)行權(quán)限:

$ sudo chmod a+x signature.sh

執(zhí)行腳本:

$ ./signature.sh

3当船、配置builde.gradle

在android區(qū)域下(與defaultConfig同級(jí))添加配置:

signingConfigs {
    release {
        storeFile file("../signature/demo.jks")
        storePassword '123456'
        keyAlias 'demo'
        keyPassword '123456'
    }

    debug {
        storeFile file("../signature/demo.jks")
        storePassword '123456'
        keyAlias 'demo'
        keyPassword '123456'
    }
}

這樣debug或release apk就帶有系統(tǒng)簽名了题画。

如果想直接Run app就是release版且?guī)到y(tǒng)簽名的apk,還需修改:

  1. 變體app
  1. 修改buildTypes

    buildTypes {
    release {
    minifyEnabled false
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    signingConfig signingConfigs.release
    }
    }

這樣直接Run app就是帶系統(tǒng)簽名的release版apk了德频。

That's all, Enjoy it!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末苍息,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子壹置,更是在濱河造成了極大的恐慌竞思,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件钞护,死亡現(xiàn)場(chǎng)離奇詭異盖喷,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)难咕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)课梳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人步藕,你說(shuō)我怎么就攤上這事惦界。” “怎么了咙冗?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵沾歪,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我雾消,道長(zhǎng)灾搏,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任立润,我火速辦了婚禮狂窑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘桑腮。我一直安慰自己泉哈,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著丛晦,像睡著了一般奕纫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上烫沙,一...
    開(kāi)封第一講書(shū)人閱讀 49,111評(píng)論 1 285
  • 那天匹层,我揣著相機(jī)與錄音,去河邊找鬼锌蓄。 笑死升筏,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的瘸爽。 我是一名探鬼主播您访,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蝶糯!你這毒婦竟也來(lái)了洋只?” 一聲冷哼從身側(cè)響起辆沦,我...
    開(kāi)封第一講書(shū)人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤昼捍,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后肢扯,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體妒茬,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年蔚晨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了乍钻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡铭腕,死狀恐怖银择,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情累舷,我是刑警寧澤浩考,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站被盈,受9級(jí)特大地震影響析孽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜只怎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一袜瞬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧身堡,春花似錦邓尤、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)殿漠。三九已至,卻和暖如春佩捞,著一層夾襖步出監(jiān)牢的瞬間绞幌,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工一忱, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留莲蜘,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓帘营,卻偏偏與公主長(zhǎng)得像票渠,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子芬迄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容