Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 你能强迫jarsigner给我们正面斜杠吗_Android_Apk_Jarsigner - Fatal编程技术网

Android 你能强迫jarsigner给我们正面斜杠吗

Android 你能强迫jarsigner给我们正面斜杠吗,android,apk,jarsigner,Android,Apk,Jarsigner,我有一个android APK文件,我需要解压,替换一个文件,使用jarsigner重新签名,然后zipalign到一个有效的APK 应用程序安装时没有错误,但运行时无法在/assets/文件夹中找到它要查找的第一个内容。所需的文件肯定在apk中,在正确的位置等 “sub:main_activity_create(Jave行:375)java.io.FileNotFoundException:control.bal中发生错误” 我可以看到的区别是,原始Manifest.MF文件有正向斜杠,但当我

我有一个android APK文件,我需要解压,替换一个文件,使用jarsigner重新签名,然后zipalign到一个有效的APK

应用程序安装时没有错误,但运行时无法在/assets/文件夹中找到它要查找的第一个内容。所需的文件肯定在apk中,在正确的位置等

“sub:main_activity_create(Jave行: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-Version: 1.0
Created-By: 1.7.0_51 (Oracle Corporation)

Name: assets\longblackbar.png
SHA1-Digest: vaky9S8cGhJIvh7a4LmmtWOpqAg=
重新签名的Manifest.MF格式

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

Name: assets/longblackbar.png
SHA1-Digest: 1Fq7U1Y/dLAVflFmTzLcC0tvKu4=
Manifest-Version: 1.0
Created-By: 1.7.0_51 (Oracle Corporation)

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

事实证明,答案是C#ZipFileExtensions方法是问题的根源,它会产生反斜杠。如果我将其替换为作为进程运行7za.exe,则会使用正向斜杠,此后一切正常