Затем я заменил один файл, который мне нужен, и выполнил apktool b CATGAME для его компиляции. Затем я выравниваю файл, запустив mv CATGAME.apk CATGAME-prealigned.apk; zipalign -v 4 CATGAME-prealigned.apk CATGAME.apk
После чего я подписываю apksigner --ks ../ks.jks --v2-signing-enabled true --v3-signing-enabled true --min-sdk-version 29 CATGAME.apk(ks.jks в родительском каталоге - это они keystore)
И для проверки я запускаю apksignerverify CATGAME.apk, но на выходе получается исключение в потоке "main" com.android.apksig.apk.ApkFormatException: отсутствует AndroidManifest.xml в com.android.apksig.ApkSigner.getAndroidManifestFromApk(ApkSigner.java:970) в com.android.apksig.ApkVerifier.getAndroidManifestFromApk(ApkVerifier.java:1225) по адресу com.android.apksig.ApkVerifier.verifyAndGetMinSdkVersion(ApkVerifier.java:640) по адресу com.android.apksig.ApkVerifier.verify(ApkVerifier.java:196) на com.android.apksig.ApkVerifier.verify(ApkVerifier.java:164) на com.android.apksigner.ApkSignerTool.verify(ApkSignerTool.java:587) на com.android.apksigner.ApkSignerTool.main(ApkSignerTool.java:95)
После извлечения CATGAME.apk я вижу, что теперь он стал двумя папками META-INF и CATGAME
Код: Выделить всё
META-INFЯ пытаюсь создать инструмент для автоматизации процесса замены этого файла, поэтому инструмент с графическим интерфейсом, вероятно, не будет работать.
ОБНОВЛЕНИЕ:
Вам просто нужно добавить --append-signature, мне потребовалось слишком много времени, чтобы это выяснить
Подробнее здесь: https://stackoverflow.com/questions/788 ... nifest-xml
Мобильная версия