2017-04-18 36 views
0

我有一個android APK文件,我需要解壓縮,替換一個文件,使用jarsigner重新簽名,然後zipalign有效的apk。你可以強制jarsigner給我們轉發斜線

該應用程序安裝時沒有錯誤,但運行時無法在/ assets /文件夾中找到它的第一件東西。所需的文件絕對是APK,在正確的地方等

「已經發生在撒哈拉錯誤:main_activity_create(java的線:375)java.io.FileNotFoundException:control.bal」

我可以看到的差異是原始Manifest.MF文件具有正斜槓,但是當我在服務器上運行jarsigner時,它會創建一個帶有反斜槓的新manifest.mf。有沒有辦法讓jarsigner使用正斜槓? 代碼是在Azure服務器上運行的C#.NET。

一部開拓創新的Manifest.MF格式

Manifest-Version: 1.0 
Created-By: 1.8.0_112 (Oracle Corporation) 

Name: assets/longblackbar.png 
SHA1-Digest: 1Fq7U1Y/dLAVflFmTzLcC0tvKu4= 

重籤的Manifest.MF格式

Manifest-Version: 1.0 
Created-By: 1.7.0_51 (Oracle Corporation) 

Name: assets\longblackbar.png 
SHA1-Digest: vaky9S8cGhJIvh7a4LmmtWOpqAg= 

回答

0

原來的答案是C#ZipFileExtensions方法是問題的原因,創造反斜槓。如果我用運行7za.exe作爲一個進程替換它,然後使用正斜槓,然後一切正常。

相關問題