Android Studio打包未簽名包

Android Studio打包未簽名包

很久沒有寫技術博客了,真有點懈怠了,做爲35歲的程序員,轉行從新撿起這些知識,仍是挺猶豫糾結的,不過沒啥其它辦法,一點一滴開始吧,今天這開篇就小結點前幾天工做中遇到的關於如何經過Android Studio打包未簽名包。html

打包未簽名包

由於並非從基礎一步一步學起的,因此不少東西都是現有工程結合網上知識混着用一下,能解決問題就好了,如今的程序員,特別是小公司的程序員,通常能找到現成解決方案實現項目需求就能夠了。哪有那麼多時間去一步一步分析每一行代碼的來由呢。轉戰Android Studio,仍是參照Android Studio系列教程六--Gradle多渠道打包來編寫build.gradle文件的,平時打包也好好的,忽然來個需求說是要打包一個爲簽名包,第一反應竟然不是修改build.gradle,而是去上網搜索,結果五花八門的答案啊。連stackoverflow上的Android: Build Unsigned APK with Gradle對我來講也是不適用,不過根據他的原理,我就想着乾脆把build.gradle文件中「buildTypes」的「release」選項中的「signingConfig signingConfigs.release」這一項刪除掉試試看,結果還真的打了一個包出來。android

那麼經過上述方法打出來的這個包是否符合要求呢?
試了安裝,結果安裝不成功,報解析錯誤,命令行報錯以下程序員

Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION]android-studio

查看簽名信息

由於裝不上,報錯說解析錯誤,是否是打包正確了呢?
雖然本身之前曾整理過一篇關於Android開發中的證書和密鑰等問題的小隨筆,可是當時是圍繞證書展開的,至於apk之後怎麼着,當時沒有涉及。因而又去搜索一通看到一篇查看APK的簽名的方法,裏面的方法,無非就是將apk進行解壓縮,而後看看裏面有沒有META-INF文件夾,有的話就能夠查看證書信息,沒有的話就是沒有簽名。因而我解壓縮了下剛剛生成的無簽名包,果真是沒有
工具

手動簽名

可是這個打出來的未簽名的包到底能不能用呢?
我不知道有沒有什麼好的驗證方法,我能想到的就是手動再給它簽名,雖然上文中的《查看APK簽名的方法》一文中有提到用jarsigner給空白包簽名,可是我嘗試着簽過之後發現籤是簽了,可是報以下錯誤gradle

警告:
未提供 -tsa 或 -tsacert, 此 jar 沒有時間戳。若是沒有時間戳, 則在簽名者證書的到期日期 (2034-01-10) 或之後的任何撤銷日期以後, 用戶可能沒法驗證此 jar。ui

將簽完名的包嘗試進行安裝,仍是安裝失敗,在eoe上有個帖子Android之apk文件簽名——keytool 和 jarsigner的使用,裏面也有網友提到相關的問題,有說由於操做系統64位相關的,也有說由於jdk版本的,可是沒有看到具體解決方法。後來我又找了幾篇文章,相似APK簽名之keytool生成keystore和jarsigner簽名apkAndroid 使用Android Studio + Gradle 或 命令行 進行apk簽名打包,而後對我來講也是沒什麼起做用。
因而乎我就放棄了本身用命令行來簽名了。最後在網上找了一個綠色免安裝的APKSign工具,將證書和密碼輸入以後就妥妥的了,相似以下
操作系統

至於APKsign工具,若是有興趣能夠去個人百度雲盤下載.net

其實都是很基礎的東西,也不知道有沒有更便捷的方法來打包生成未簽名包,而後進行該包的正確性。若是有更好的方法但願可以留言提供一下哦,謝謝了。命令行

相關文章
相關標籤/搜索