日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

让Android Studio支持系统签名(证书)

發布時間:2023/12/20 Android 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 让Android Studio支持系统签名(证书) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有時候,我們開發的apk需要用到系統權限,需要在AndroidManifest.xml中添加共享系統進程屬性:

?

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

這時候apk的簽名就需要是系統簽名(platform、shared或media)才能正常使用。
----------------------------------------------------------------------------------------------

常用系統簽名方式

1、Android源碼環境下簽名


這種方式比較麻煩,你需要有編譯過的源碼環境,并按如下步驟:
1、拷貝App源碼到Android源碼的packages/apps/目錄下,且App源碼是普通(Eclipse)格式的
2、配置Android.mk,在其中添加
LOCAL_CERTIFICATE := platform 或 shared 或 media
3、使用mm?-B?編譯App,生成的apk即系統簽名
-----------------------------------------------------------------------------------------------

2、手動重新簽名


這種方式比在源碼環境下簽名簡單,App可以在Eclipse或Android Studio下編譯,然后給apk重新簽名即可。
但這種方式在頻繁調試的時候比較痛苦,即使寫成腳本,也需要重復一樣的操作。

2.1、相關文件
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


2.2、簽名命令
java -jar signapk.jar platform.x509.pem platform.pk8 old.apk new.apk
步驟
1、將相關文件及源apk文件置于同一路徑下
2、檢查源apk包,去掉META-INF/CERT.SF?和?META-INF/CERT.RSA?文件
3、執行簽名命令即可

-----------------------------------------------------------------------------------------------

3、Android Studio系統簽名


讓Android Studio集成系統簽名,需要用到一個工具keytool-importkeypair,詳見下文。

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



這個工具的作用是將系統簽名的相關信息導入到已有的簽名文件里。可從這里下載。
工具的使用方法可以通過--help或README.textile來尋求幫助。
相關文件
platform.x509.pem、platform.pk8、keytool-importkeypair、demo.jks、signature.sh
我的做法是在App根目錄新建Signature文件夾專門存放簽名相關文件。
步驟
1、生成demo.jks簽名文件

相關文件
platform.x509.pem、platform.pk8、keytool-importkeypair、demo.jks、signature.sh
我的做法是在App根目錄新建Signature文件夾專門存放簽名相關文件。
步驟
生成demo.jks簽名文件

在這里選擇簽名的文件

圖片上的密碼要和命令的密碼對應,別名Alias也要對應起來,還有路徑,其他信息是次要的

這個步驟后,可以在對應的位置生成一個demo.jks文件


2、編寫簽名腳本signature.sh,利用步驟1生成的文件生成新的文件

內容如下:
注意!!一定要把這個文件放到linux環境下編譯,在windows下編譯目前我還沒測試成功,我相信坐簽名的同學一定有linux編譯環境

#!/bin/sh# 轉換平臺簽名命令 ./keytool-importkeypair -k demo.jks -p 123456 -pk8 platform.pk8 -cert platform.x509.pem -alias demo# demo.jks : 簽名文件 # 123456 : 簽名文件密碼 # platform.pk8、platform.x509.pem : 系統簽名文件 # demo : 簽名文件別名


$ sudo chmod a+x signature.sh
執行腳本:
$ ./signature.sh

注意!!這時候會生成新的demo.jks,把這個demo.jks替換掉原來的那個才可以。

?

3、配置builde.gradle
在android區域下(與defaultConfig同級)添加配置:
注意 !!Android studio有兩個builde.gradle,要在有Android關鍵字的那個添加,別搞錯了。

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就帶有系統簽名了。
如果想直接Run app就是release版且帶系統簽名的apk,還需修改:

修改buildTypes:

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

這樣直接Run app就是帶系統簽名的release版apk了。

如果對你有用,請關注微信公眾號【嵌入式Linux

參考:Android Studio自動生成帶系統簽名的apk

總結

以上是生活随笔為你收集整理的让Android Studio支持系统签名(证书)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。