我正在嘗試重新簽署Android .apk。即現在是自簽名的,我希望用官方證書重新簽名。防止zipalign壓縮.wav文件
要做到這一點,我
- 下載構建歸檔
- 從name.apk重命名爲name.zip
- 解壓縮ZIP
- 刪除META-INF
- 郵編備份目錄
- 將.zip重命名爲.apk
- 將.apk簽名爲官方密鑰庫使用的jarsigner
- 運行的zipalign對.apk文件簽署
但是當我上載和運行.apk文件到移動啓動時崩潰。這是由以下錯誤
Caused by: android.content.res.Resources$NotFoundException: File res/raw/my_file.wav from drawable resource ID #0x7f070002
Caused by: java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed
果然當我檢查控制檯日誌中我可以看到的zipalign被壓縮這個文件
res/raw/my_file.wav (OK - compressed)
應該這樣做
res/raw/my_file.wav (OK)
引起我怎樣才能得到zipalign不壓縮我的.wav文件?基於這個答案,Android不應該壓縮.wav文件。
我也跑的zipalign前注意到一個警告。即它出現後我運行jarsigner
No -tsa or -tsacert is provided and this jar is not timestamped. Without a timestamp, users may not be able to validate this jar after the signer certificate's expiration date (2043-01-30) or after any future revocation date.
什麼原因導致此消息出現?似乎可能是相關的。
但我怎麼能避免壓縮正式密鑰庫?現有的版本不會壓縮wav文件,我希望這樣做? –