Для того же приложения у меня есть:
- APK из магазина приложений,
- что называется исходным кодом для той же версии. С довольно обычным скриптом и структурой Gradle.
Я хочу проверить, действительно ли APK был построен из этого исходного кода или нет.
Как это проверить?
Заметки:
- APK не запутывается.
- У меня нет оснований доверять чьей-либо подписи. Я доверяю только исходному коду.
- Я уже создал приложение для себя, но теперь я хочу знать, был ли APK в порядке или нет.
- Желательно с инструментами командной строки Linux, но любой инструмент в порядке.
diff
Метод кажется изящным ... но что, если ребята из магазина приложений запутывают APK при компиляции?
.apk
файла, а затем запустить diff для получающихся каталогов. Единственной разницей тогда должна быть подпись (которая не может совпадать по понятным причинам). Подумайте об этом: просто разархивируйте.apk
файлы и сделайте бинарный diff, сделайте то же самое. И то и другое, разумеется, потребовало бы использования одинаковых версий библиотеки и т. Д. При компиляции :)