當前位置:首頁 » 安卓系統 » android空包簽名

android空包簽名

發布時間: 2022-10-16 06:28:39

Ⅰ 如何對Android的APP進行簽名

1
下載java SE Development Kit (JDK)
在網路上搜索jdk即可搜索到,然後下載安裝(安裝到c盤,製作簽名時好找到我們需要的文件),記住你電腦的系統,不要下載錯了,否則無法安裝。

2
安裝Java SE Development Kit (JDK)完成後點擊 開始 在搜索程序和文件中輸入cmd

3
點擊程序cmd.exe 打開cmd管理員窗口

4
電腦進入Android
【在打開的管理員窗口輸入cd+空格鍵+.android+回車鍵】

5
使用命令 keytool -list -v -keystore debug.keystore【將命令keytool -list -v -keystore debug.keystore復制到cmd管理員窗口中+回車鍵】

6
進入到目錄bin,並復制地址

7
將復制的地址粘貼到cmd管理員窗口中且在前面輸入cd+空格鍵

8
回車

9
再次將命令keytool -list -v -keystore debug.keystore粘貼到cmd管理員窗口中並回車

10
此時會出現上述錯誤,接下來執行命令keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 10000 並回車
輸入密匙庫口令【密匙口令 (自己設置) 即為密碼,最好設成數字,記住就行】+回車建
後面都是自己輸入後以回車鍵結束,最後 是否輸入正確輸入 y。
一直回車。。。。就可以生成簽名證書

11
現在進入到目錄bin就可以找到debug.keystore這個文件了。
好了,這個文件就是用來對Android的APP進行簽名的簽名證書。
個人覺得應該把這個文件上傳到你自己的網盤中保存好,因為後面對APP進行簽名時要用到同一個簽名證書,簽名證書不同會導致簽名後的APP無法再手機上運行。

12
下載360簽名工具(支持linux&MAC下批量簽名)。
360移動開發平台有,不過可能需要注冊才能下載(有點麻煩),可以找我要

13
下載解壓後進入→360簽名工具(支持Linux&MAC下批量簽名)→windows簽名工具→360Signer.exe(雙擊)

14
簽名成功!!
此時將生成一個【編繩_signed_Aligned.apk】後綴為_signed_Aligned的apk文件,沒有必要時盡量不要修改後綴

Ⅱ 如何對Android的APP進行簽名

1、在Android Studio中打開工程,點擊「Build」菜單下的「Generate Signed APK」。

Ⅲ android 怎麼把簽名打到空包中

先生成簽名文件

然後如果是編譯器可以直接選擇,沒有就cmd進入代碼打包,不會命令網路,先要裝java環境。

Ⅳ 如何對android的apk簽名進行驗證

方法/步驟

1
菜單菜單鍵,鍵入cmd命令進入命令模式。如圖:

2
命令模式中,進入JDK的安裝目錄的Bin子目錄下。(我的JDK安裝在E盤,所以先進入E盤,然後再進入JDK安裝目錄)

3
通過keytool.exe 工具來創建keystore庫.
輸入以下命令:
keytool -genkeypair -alias - mydemo.keystore -keyalg RSA -validity 100
-keystore mydemo.keystore
命令說明如下:
-genkeypair :指定生成數字證實
-alias :指定生成數字證書的別名
-keyalg:指定生成數字證書的演算法 這里如RSA演算法
-validity:指定生成數字證書的有效期
-keystore :指定生成數字證書的存儲路徑。 (這里默認在keytool.exe 目錄下)
回車 出現如圖互動式界面 輸入數字證書費密碼 作者 公司等詳細信息
如圖 :

4
完成後,keystore庫創建完成,你可以在指定的保存目錄下找到 如圖:

5
使用jarsigner命令對未簽名的APK安裝包進行簽名。使用JDK安裝目錄下bin子目錄下的jarsigner.exe工具來進行簽名。
然後把未簽名的apk也拷貝到此目錄。如圖:

6
使用如下命令進行簽名:
jarsigner -verbose -keystore mydemo.keystore -signedjar
-Note.apk Notes.apk mydemo.keystore
以上命令的說明:
-verbose:指定生成詳細輸出
-keystore:指定數字證書存儲路徑
-signedjar:該選項的三個參數為 簽名後的apk包 未簽名的apk包 數字證書別名
注意有效期哦。

7
簽名後的apk 如圖:

8
sdk目錄下tool目錄下使用zipalign.exe工具優化APK安裝包。
將已經簽名的apk包放在zipalign.exe同目錄下 如圖:

9
使用如下命令:
zipalign -f -v 4 -Note.apk -Notes.apk
命令說明:
-f :指定強制覆蓋已有文件
-v 指定生成詳細輸出
4:指定檔案整理基於的位元組數 一般是4 也有基於32位的。
-Note.apk :優化前APK
-Notes.apk 優化後的APK

10
運行命令後,在該目錄下生成一個-Notes.apk,這個就是優化過的APK安裝包
,該安裝包可以對外發布。
如圖:
如果能對你有幫助,希望你能收藏和支持。

http://jingyan..com/article/3c48dd3491d91fe10be358f4.html

Ⅳ android studio怎麼簽名打包

1首先打開Android Studio選擇Build -> Generate Signed APK... 2彈出對話窗口,如果沒有key,就新建一個key。 3新建一個key,可根據自己需要填寫相關項. 4填寫我們創建的key的 alias和密碼。 5單擊next下一步,Finish完成。 6稍等一會兒會出現下述提示,說明應用已經打包簽名成功了。

Ⅵ android studio怎麼簽名打包

參考連接:http://www.cnblogs.com/gao-chun/p/4891275.html
1、方式1:通過Android Studio進行簽名:
選中app這個mole,選擇菜單欄"Build-Generate signed apk":

彈出如下界面:

上圖中,如果你是第一次使用簽名,就單擊紅框部分創建一個新的簽名;如果你之前有過簽名的文件,就選擇藍框部分進行導入即可。那我就先選擇紅框部分吧:

上圖中,點擊"finish"之後,可以看到Android Studio的最下方顯示:Gradle正在執行assembleRelease這樣一個任務,如下圖所示:

生成簽名好的apk之後,會彈出提示:

Ⅶ 如何產生android 打包簽名文件

默認Android Studio簽名生成apk文件或不簽名的apk文件 點擊「Build——>Build APK」生成默認簽名和默認不簽名的兩種文件 點擊「Build——>General Signed apk」指定自定義簽名文件後,生成發布版本的簽名文件,如果沒有簽名文件,先創建一個

Ⅷ android studio怎麼使用Build工具進行簽名打包

1、打開android studio軟體,選擇菜單欄 Build ---> Generate Signed APK 打開簽名提示框。 2、在簽名對話框中輸入簽名的別名、密碼、地區等簽名信息。填寫完並點擊保存。 3、驗證信息:選擇我們的簽名文件並輸入設置的密碼進行驗證。 4、設置打包路徑:設置完導出打包路徑還有Build Type類型 點擊finish按鈕。 5、查看簽名打包文件:等待30秒簽名完成,並彈出一個提示框查看文件。即完成打包。

Ⅸ 安卓刷機包簽名失敗怎麼處理

Android簽名失敗由以下原因造成:
1. 手機已經安裝了一個包名相同的應用
2. 當前手機操作系統不滿足程序包要求的系統版本
3. 手機存儲空間不足
4. 安裝包已經損壞

解決辦法:
1. 查看本機是否有安裝,如果有直接卸載掉
2. 查看一下程序包的版本,與當前手機是否一致
3. 卸載手機一些無用或者很少用的應用,釋放手機存儲空間
4. 重新下載安裝包

Ⅹ android 系統簽名

也有提到怎麼單獨給一個apk簽名,這里補充一下android的簽名許可權控制機制。

android的標准簽名key有:

     testkey

     media

    latform

    hared

    以上的四種,可以在源碼的/build/target/proct/security裡面看到對應的密鑰,其中shared.pk8代表私鑰,shared.x509.pem公鑰,一定是成對出現的。

    其中testkey是作為android編譯的時候默認的簽名key,如果系統中的apk的android.mk中沒有設置LOCAL_CERTIFICATE的值,就默認使用testkey。

   而如果設置成:

   LOCAL_CERTIFICATE := platform

    就代表使用platform來簽名,這樣的話這個apk就擁有了和system相同的簽名,因為系統級別的簽名也是使用的platform來簽名,此時使用android:sharedUserId="android.uid.system"才有用!

     在/build/target/proct/security目錄下有個README,裡面有說怎麼製作這些key以及使用問題(android4.2):

     從上面可以看出來在源碼下的/development/tools目錄下有個make_key的腳本,通過傳入兩個參數就可以生成一對簽名用的key。

    其中第一個為key的名字,一般都默認成android本身有的,因為很多地方都默認使用了這些名字,我們自定義的話只需要對第二個參數動手腳,定義如下:

    C ---> Country Name (2 letter code) ST ---> State or Province Name (full name) L ---> Locality Name (eg, city) O ---> Organization Name (eg, company) OU ---> Organizational Unit Name (eg, section) CN ---> Common Name (eg, your name or your server』s hostname) emailAddress ---> Contact email addre

    另外在使用上面的make_key腳本生成key的過程中會提示輸入password,我的處理是不輸入,直接enter,不要密碼!後面解釋,用自定義的key替換/security下面的。

    可以看到android源碼裡面的key使用的第二個參數就是上面README裡面的,是公開的,所以要release版本的系統的話,肯定要有自己的簽名key才能起到一個安全控製作用。

    在上面提到如果apk中的編譯選項LOCAL_CERTIFICATE沒有設置的話,就會使用默認的testkey作為簽名key,我們可以修改成自己想要的key,按照上面的步驟製作一個releasekey,修改android配置在/build/core/config.mk中定義變數:

在主makefile文件裡面:

ifeq ($(DEFAULT_SYSTEM_DEV_CERTIFICATE),build/target/proct/security/releasekey)

  BUILD_VERSION_TAGS += release-key

這樣的話默認的所有簽名將會使用releasekey。

修改完之後就要編譯了,如果上面的這些key在製作的時候輸入了password就會出現如下錯誤:

我在網上找到了合理的解釋:

其實會出現這個錯誤的最根本的原因是多線程的問題。在編譯的時候為了加速一般都會執行make -jxxx,這樣本來需要手動輸入密碼的時候,由於其它線程的運行,就會導致影響當前的輸入終端,所以就會導緻密碼無法輸入的情況!

再編譯完成之後也可以在build.prop中查看到變數:

這樣處理了之後編譯出來的都是簽名過的了,系統才算是release版本

我發現我這樣處理之後,整個系統的算是全部按照我的要求簽名了。

網上看到還有另外的簽名release辦法,但是應該是針對另外的版本的,借用學習一下:

make -j4 PRODUCT-proct_mol-user dist

這個怎麼跟平時的編譯不一樣,後面多了兩個參數PRODUCT-proct_mol-user 和 dist. 編譯完成之後回在源碼/out/dist/目錄內生成個proct_mol-target_files開頭的zip文件.這就是我們需要進行簽名的文件系統.

我的proct_mol 是full_gotechcn,後面加「-user」代表的是最終用戶版本,關於這個命名以及proct_mol等可參考http://blog.csdn.net/jscese/article/details/23931159

編譯出需要簽名的zip壓縮包之後,就是利用/security下面的准備的key進行簽名了:

./build/tools/releasetools/sign_target_files_apks -d /build/target/proct/security  out/dist/full_gotechcn-target_files.zip   out/dist/signed_target_files.zi

簽名目標文件 輸出成signed_target_files.zi

如果出現某些apk出錯,可以通過在full_gotechcn-target_files.zip前面加參數"-e =" 來過濾這些apk.

然後再通過image的腳本生成imag的zip文件,這種方式不適用與我目前的工程源碼,沒有做過多驗證!

Android簽名機制可劃分為兩部分:(1)ROM簽名機制;(2)第三方APK簽名機制。

Android APK實際上是一個jar包,而jar包又是一個zip包。APK包的簽名實際上使用的是jar包的簽名機制:在zip中添加一個META的子目錄,其中存放簽名信息;而簽名方法是為zip包中的每個文件計算其HASH值,得到簽名文件(*.sf),然後對簽名文件(.sf)進行簽名並把簽名保存在簽名塊文件(*.dsa)中。

在編譯Android源碼生成ROM的過程中,會使用build/target/proct/security目錄中的4個key(media, platform, shared, testkey)來對apk進行簽名。其中,*.pk8是二進制形式(DER)的私鑰,*.x509.pem是對應的X509公鑰證書(BASE64編碼)。build/target/proct/security目錄中的這幾個默認key是沒有密碼保護的,只能用於debug版本的ROM。

要生成Release版本的ROM,可先生成TargetFiles,再使用帶密碼的key對TargetFiles重新簽名,最後由重簽名的TargetFiles來生成最終的ROM。

可以使用Android源碼樹中自帶的工具「development/tools/make_key」來生成帶密碼的RSA公私鑰對(實際上是通過openssl來生成的): $ development/tools/make_key media 『/C=CN/ST=Sichuan/L=Cheng/O=MyOrg/OU=MyDepartment/CN=MyName』 上面的命令將生成一個二進制形式(DER)的私鑰文件「media.pk8」和一個對應的X509公鑰證書文件「media.x509.pem」。其中,/C表示「Country Code」,/ST表示「State or Province」,/L表示「City or Locality」,/O表示「Organization」,/OU表示「Organizational Unit」,/CN表示「Name」。前面的命令生成的RSA公鑰的e值為3,可以修改development/tools/make_key腳本來使用F4 (0×10001)作為e值(openssl genrsa的-3參數改為-f4)。

也可以使用JDK中的keytool來生成公私鑰對,第三方APK簽名一般都是通過keytool來生成公私鑰對的。

可以使用openssl x509命令來查看公鑰證書的詳細信息: $ openssl x509 -in media.x509.pem -text -noout or, $ openssl x509 -in media.x509.pem -inform PEM -text -noout

還可以使用JDK中的keytool來查看公鑰證書內容,但其輸出內容沒有openssl x509全面: $ keytool -printcert -v -file media.x509.pem

有了key之後,可以使用工具「build/tools/releasetools/sign_target_files」來對TargetFiles重新簽名: $ build/tools/releasetools/sign_target_files_apks -d new_keys_dir -o target_files.zip target_files_resigned.zip 其中,new_keys_dir目錄中需要有四個key(media, platform, shared, releasekey)。注意:這里的releasekey將代替默認的testkey(請參考build/tools/releasetools/sign_target_files腳本實現),也就是說,如果某個apk的Android.mk文件中的LOCAL_CERTIFICATE為testkey,那麼在生成TargetFiles時是使用的build/target/proct/security/testkey來簽名的,這里重新簽名時將使用new_keys_dir/releasekey來簽名。

uild/tools/releasetools/sign_target_files_apks是通過host/linux-x86/framework/signapk.jar來完成簽名的。也可以直接使用host/linux-x86/framework/signapk.jar來對某個apk進行簽名: $ java -jar signapk [-w] publickey.x509[.pem] privatekey.pk8 input.jar output.jar 其中,」-w」表示還對整個apk包(zip包)進行簽名,並把簽名放在zip包的comment中。

對於第三方應用開發者而言,對APK簽名相對要簡單得多。第三方應用開發一般採用JDK中的keytool和jarsigner來完成簽名密鑰的管理和APK的簽名。

使用keytool來生成存儲有公私鑰對的keystore: $ keytool -genkey -v -keystore my-release-key.keystore -alias mykey -keyalg RSA -keysize 2048 -validity 10000

查看生成的密鑰信息: $ keytool -list -keystore my-release-key.keystore -alias mykey -v or, $ keytool -list -keystore my-release-key.keystore -alias mykey -rfc (註:獲取Base64格式的公鑰證書,RFC 1421)

導出公鑰證書: $ keytool -export -keystore mystore -alias mykey -file my.der (註:二進制格式公鑰證書,DER) $ keytool -export -keystore mystore -alias mykey -file my.pem -rfc (註:Base64格式公鑰證書,PEM)

對APK進行簽名: $ jarsigner -verbose -keystore my-release-key.keystore my_application.apk mykey

驗證簽名: $ jarsigner -verify -verbose -certs my_application.apk

在進行Android二次開發時,有時需要把build/target/proct/security下面的公私鑰對轉換為keystore的形式,可以參考這篇文章:把Android源碼中的密碼對轉換為keystore的方法。

熱點內容
linux線程間通信 發布:2025-03-10 22:15:02 瀏覽:853
python線程數量控制 發布:2025-03-10 22:14:28 瀏覽:449
壓縮軟體流程 發布:2025-03-10 22:00:43 瀏覽:301
安卓哪個國家的品牌好 發布:2025-03-10 21:53:16 瀏覽:12
ftp字元集錦 發布:2025-03-10 21:37:00 瀏覽:77
如何提取腳本按鍵 發布:2025-03-10 21:29:04 瀏覽:221
遼寧省dns伺服器怎麼填物理機 發布:2025-03-10 21:25:05 瀏覽:787
雲計算機伺服器區別 發布:2025-03-10 21:10:21 瀏覽:235
古代錦衣衛需要哪些配置 發布:2025-03-10 21:06:17 瀏覽:618
ps樣式在的文件夾 發布:2025-03-10 20:50:07 瀏覽:614