У меня есть APK-файл Android, который мне нужно разархивировать, заменить один файл, повторно подписать с помощью jarsigner, а затем zipalign в действительный APK.
Приложение устанавливается без ошибок, но при запуске оно не может найти первое, что ищет, в папке /assets/. Нужный файл обязательно есть в APK, в нужном месте и т. д.
"Произошла ошибка в sub:main_activity_create(Jave line:375) java.io.FileNotFoundException :control.bal"
Я вижу разницу в том, что исходный файл Manifest.MF содержит косую черту (U+ 002F), но когда я запускаю jarsigner на сервере, он создает новый манифест.mf с обратными косыми чертами (U+005C). Есть ли способ заставить jarsigner использовать косую черту?
Код C# .NET работает на сервере Azure.
Оригинальный 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=
Подробнее здесь: https://stackoverflow.com/questions/434 ... ds-slashes
Можете ли вы заставить jarsigner использовать косую черту? ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение