ссылка 【Android Безопасность】DEX шифрование ( DEX шифрованиеиспользоватьприезжатьиз Связанныйинструмент | dx инструмент | zipalign Выравниваниеинструмент | apksigner знакинструмент ) в zipalign Выравниваниеинструмент ,
zipalign инструмент Кусочекнабор D:\001_Programs\001_Android\002_Sdk\Sdk\build-tools\30.0.2\zipalign.bat ;
zipalign ссылка :
zipalign 4 -v -f in.apk out.apk
zipalign Выравниваниеинструмент参数设набор :
Usage: zipalign [-f] [-p] [-v] [-z] <align> infile.zip outfile.zip
zipalign -c [-p] [-v] <align> infile.zip
<align>: alignment in bytes, e.g. '4' provides 32-bit alignment
-c: check alignment only (does not modify file)
-f: overwrite existing outfile.zip
-p: memory page alignment for stored shared object files
-v: verbose output
-z: recompress using Zopfli
, выражать
выравнивание битов;
Обычно используйте конфигурацию параметра -f;
Обратите внимание на порядок использования вышеуказанных параметров. , Должен следовать -f -v <align> Используйте параметры по порядку ;
Полный абсолютный путь для выполнения команды ( Делайте только ссылку ) :
D:/001_Programs/001_Android/002_Sdk/Sdk/build-tools/30.0.2/zipalign -f 4 D:\002_Project\002_Android_Learn\DexEncryption\app\build\outputs\apk\debug\app-unsigned.apk D:\002_Project\002_Android_Learn\DexEncryption\app\build\outputs\apk\debug\app-unsigned-aligned.apk
Описание параметра:
D:/001_Programs/001_Android/002_Sdk/Sdk/build-tools/30.0.2/zipalign да zipalign.exe инструментизвесьабсолютный путь ;
Параметр -f означает, что если выходной файл существует, перезапишите его;
4 означает 32-битное выравнивание;
D:\002_Project\002_Android_Learn\DexEncryption\app\build\outputs\apk\debug\app-unsigned.apk представляет собой абсолютный путь к выровненному файлу APK;
D:\002_Project\002_Android_Learn\DexEncryption\app\build\outputs\apk\debug\app-unsigned-aligned.apk представляет абсолютный путь к выровненному выходному файлу;
Пример кода операции выравнивания:
/*
4 . Операции выравнивания
*/
// Операции результаты спортсменнияиз, Воля app-unsigned.apk Выравнивание, Выравнивание вывода документа в app-unsigned-aligned.apk середина
var unSignedAlignApk = File("app/build/outputs/apk/debug/app-unsigned-aligned.apk")
// Для печати выполните команду из
println("cmd /c D:/001_Programs/001_Android/002_Sdk/Sdk/build-tools/30.0.2/zipalign -f 4 ${unSignedApk.absolutePath} ${unSignedAlignApk.absolutePath}")
/*
Воля app-unsigned.apk Выравнивание
использовать zipalign инструмент Заказ Уведомление : Windows Команде командной строки должно предшествовать "cmd /c " информация , Linux и MAC Нет необходимости добавлять командную строку
*/
process = Runtime.getRuntime().exec("cmd /c D:/001_Programs/001_Android/002_Sdk/Sdk/build-tools/30.0.2/zipalign -f 4 ${unSignedApk.absolutePath} ${unSignedAlignApk.absolutePath}")
// Подождите, пока указанная выше команда завершит выполнение.
process.waitFor()
// Результат выполнения提示 if(process.exitValue() == 0){
println("Операции выравнивания Выполнение успешно");
} else {
println("Операции выравнивания Выполнение не удалось");
}
Результат выполнения : Красная прямоугольная рамка генерируется после да Выравнивания. app-unsigned-aligned.apk документ ;
Вывод командной строки:
cmd /c D:/001_Programs/001_Android/002_Sdk/Sdk/build-tools/30.0.2/zipalign -f 4 D:\002_Project\002_Android_Learn\DexEncryption\app\build\outputs\apk\debug\app-unsigned.apk D:\002_Project\002_Android_Learn\DexEncryption\app\build\outputs\apk\debug\app-unsigned-aligned.apk
Операции выравнивания Выполнено успешно