用eclipse軟件打包app安卓客戶端免費下載
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網站制作、成都網站建設、外貿營銷網站建設、企業(yè)官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯(lián)網時代的金臺網站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!
鏈接:
提取碼:7a4n
Eclipse 是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發(fā)環(huán)境。幸運的是,Eclipse 附帶了一個標準的插件集,包括Java開發(fā)工具(Java Development Kit,JDK)。
官方詳細:
ps:打包前做好config.xml配置如包名
一、添加android平臺
添加之后,在項目目錄的platforms下會生成一個android文件夾。
二、cordova編譯應用
使用build命令編譯應用的發(fā)布版本,這個過程需要你的android sdk和環(huán)境變量、java jdk和環(huán)境變量、android的gradle配置沒有錯誤。
編譯成功之后,在項目路徑platforms/android/build/outputs/apk/android-release-unsigned.apk未簽名文件,這個時候的apk還不能被安裝到手機上。
三、生成簽名文件
輸入的密碼要記住,其他姓名地區(qū)等信息隨便填吧,最好還是記住,成功之后在主目錄下就生成了 jhy-release-key.keystore 文件,命令中jhy-release-key.keystore是生成文件的名字, alias_jhy 是別名,隨便起但是要記住,一會簽名要用到,其他信息如加密、有效日期等就不說了,無需改動。
生成后會提示:
JKS 密鑰庫使用專用格式。建議使用 "keytool -importkeystore -srckeystore jhy-release-key.jks -destkeystore jhy-release-key.jks -deststoretype pkcs12" 遷移到行業(yè)標準格式 PKCS12。
執(zhí)行命令:
執(zhí)行結果: Warning: 已將 "jhy-release-key.jks" 遷移到 Non JKS/JCEKS。將 JKS 密鑰庫作為 "jhy-release-key.jks.old" 進行了備份。
四、簽名應用文件
把在第二步生成的android-release-unsigned.apk拷貝到與生成的jhy-release-key.jks同一目錄下,也就是項目的主目錄下,執(zhí)行命令:
輸入簽名文件的密碼,成功之后主目錄下的android-release-unsigned.apk就被簽名成功了,會比原來未被簽名的apk文件大一點,能夠安裝到手機或android虛擬機上了。
簽名完成后會提示沒有時間戳,忽略即可
檢測是否簽名成功:
也可用以下命令簽名并生成新apk文件
轉自
一.工具介紹
jarsigner是JDK提供的針對jar包簽名的通用工具,
位于JDK/bin/jarsigner.exe
apksigner是Google官方提供的針對Android apk簽名及驗證的專用工具,
位于Android SDK/build-tools/SDK版本/apksigner.bat
不管是apk包,還是jar包,本質都是zip格式的壓縮包,所以它們的簽名過程都差不多(僅限V1簽名),
以上兩個工具都可以對Android apk包進行簽名.
1.V1和V2簽名的區(qū)別
在Android Studio中點擊菜單 Build-Generate signed apk... 打包簽名有兩種簽名選項 V1(Jar Signature) V2(Full APK Signature),
從Android 7.0開始, 谷歌增加新簽名方案 V2 Scheme (APK Signature);
但Android 7.0以下版本, 只能用舊簽名方案 V1 scheme (JAR signing)
V1簽名:
V2簽名:
V2簽名優(yōu)點很明顯:
注意: apksigner工具默認同時使用V1和V2簽名,以兼容Android 7.0以下版本
2.zipalign和V2簽名
位于Android SDK/build-tools/SDK版本/zipalign.exe
zipalign 是對zip包對齊的工具,使APK包內未壓縮的數(shù)據有序排列對齊,從而減少APP運行時內存消耗
zipalign -v 4 in.apk out.apk //4字節(jié)對齊優(yōu)化
zipalign -c -v 4 in.apk //檢查APK是否對齊
zipalign可以在V1簽名后執(zhí)行
但zipalign不能在V2簽名后執(zhí)行,只能在V2簽名之前執(zhí)行!!!
二.簽名步驟
1.生成密鑰對(已有密鑰庫,可忽略)
Android Studio在Debug時,對App簽名都會使用一個默認的密鑰庫:
1.生成密鑰對
進入JDK/bin, 輸入命令
參數(shù):
提示: 可重復使用此條命令,在同一密鑰庫中創(chuàng)建多條密鑰對
例如: 在debug.keystore中新增一對密鑰,別名是release
keytool -genkeypair -keystore debug.keystore -alias release -validity 30000
2.查看密鑰庫
進入JDK/bin, 輸入命令
keytool -list -v -keystore 密鑰庫名
參數(shù):
例如:
keytool -list -v -keystore debug.keystore
現(xiàn)在debug.keystore密鑰庫中有兩對密鑰, 別名分別是androiddebugkey release
2.簽名
1.方法一(jarsigner,只支持V1簽名)
進入JDK/bin, 輸入命令
從JDK7開始, jarsigner默認算法是SHA256, 但Android 4.2以下不支持該算法,
所以需要修改算法, 添加參數(shù) -digestalg SHA1 -sigalg SHA1withRSA
參數(shù):
例如:
用JDK7及以上jarsigner簽名,不支持Android 4.2 以下
jarsigner -keystore debug.keystore MyApp.apk androiddebugkey
用JDK7及以上jarsigner簽名,兼容Android 4.2 以下
jarsigner -keystore debug.keystore -digestalg SHA1 -sigalg SHA1withRSA MyApp.apk androiddebugkey
2.方法二(apksigner,默認同時使用V1和V2簽名)
進入Android SDK/build-tools/SDK版本, 輸入命令
若密鑰庫中有多個密鑰對,則必須指定密鑰別名
禁用V2簽名
apksigner sign --v2-signing-enabled false --ks 密鑰庫名 xxx.apk
參數(shù):
例如:
在debug.keystore密鑰庫只有一個密鑰對
apksigner sign --ks debug.keystore MyApp.apk
在debug.keystore密鑰庫中有多個密鑰對,所以必須指定密鑰別名
apksigner sign --ks debug.keystore --ks-key-alias androiddebugkey MyApp.apk
3.簽名驗證
1.方法一(keytool,只支持V1簽名校驗)
進入JDK/bin, 輸入命令
keytool -printcert -jarfile MyApp.apk (顯示簽名證書信息)
參數(shù):
2.方法二(apksigner,支持V1和V2簽名校驗)
進入Android SDK/build-tools/SDK版本, 輸入命令
apksigner verify -v --print-certs xxx.apk
參數(shù):
例如:
apksigner verify -v MyApp.apk
本人由于一些誤操作接觸到打包文件的問題,故作此文避免再次踩坑。
1.入口:build-generate signed bundle/APK,打開后如下圖1.1:
2.選中apk打包,進入next:
3.選擇打包類型:
4.箭頭所指即為生成的混淆+簽名后的打包apk文件。(*簽名文件不可以隨便更改,如果有申請第三方的功能,都需要這個簽名文件去檢驗的,比如說集成了微信支付,我們換簽名文件的話,微信那邊就會檢驗不通過)
5.本文重點并非上述步驟,而是我自己重新生成了一個密鑰后,打包文件變成了.aab后綴文件。于是我想研究下它的打包過程和原理:
5.1在我們的build.gradle中可以更新打包文件版本號名稱(自己配一下):
5.2簽名文件會在此處進行對應生成信息:
5.3當然,你的項目文件也會對應生成相應的簽名文件,例如我此處的文件為yoocarjks.jks:
5.4自己配一下打包生成文件的命名:
以上over
6.*問題點:
6.1.簽名文件生成的亂碼是些啥?
6.2.由于我當時把項目扔垃圾桶了,還有些文件并沒有搞清楚是干嘛的,如下圖:
buildoutputcleanuo.lock/executionhistory.bin/executionhistory.lock/filehashes.bin/filehashes.lock/outputfiles.bin/xxx.app.iml這些文件分別干嘛的,從包名看像是打包生成的文件。
作此文激勵下自己空了去學習查閱下,若有知道的小伙伴歡迎留言分享~此文會繼續(xù)追更~
7.1關于xxx.app.iml看到一篇不錯的出錯解決方案:
設計原理如下:
這個文件,后續(xù)遇到問題我再深入了解下
默認Android Studio簽名生成apk文件或不簽名的apk文件點擊“Build——Build APK”生成默認簽名和默認不簽名的兩種文件 點擊“Build——General Signed apk”指定自定義簽名文件后,生成發(fā)布版本的簽名文件,如果沒有簽名文件,先創(chuàng)建一個
我們平常打包的時候,都是自動選擇v1、v2同時簽名如下圖:
但是有些自己不熟的項目你即使選擇了這兩個選項,但是你打出來的apk還是會出現(xiàn)v1沒簽上或者v2沒簽上的情況;
這里我就不過多表述v1 、v2 、v3,簽名的詳情解釋啦!有心的看客自己baidu或google或看api吧(一搜一大把)!
這里我遇到的情況就是在當前項目中的最低SDK版本設置成了24(minSdkVersion 24):
然后就導致了上述問題!
所以你只需要將最低sdk版本設置低于24版本(如23,我一般做項目都設置成17),那你打apk簽名的時候就不會只能簽名一個(v1、v2)啦!
網頁標題:android打包簽名,android app簽名包原理
網站地址:http://chinadenli.net/article38/dsisesp.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供自適應網站、云服務器、網站改版、App設計、外貿建站、品牌網站設計
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)