Простой инструмент для вывода количества методов в пакетах исполняемого файла Android DEX, сгруппированных по пакетам. Это помогает не превышать ограничение в 65 536 методов, на которые есть ссылки. Подробнее в этом блоге.
Чтобы запустить его с помощью Ant:
$ ant jar
$ ./dex-method-counts путь/к/App.apk # или .zip или .dex или каталог
или с Gradle:
$ ./gradlew assemble
$ ./dex-method-counts путь/к/App.apk # или .zip или .dex или каталог
В Windows:
$ gradlew assemble
$ java -jar путь\к\build\jar\dex-method-counts.jar путь\к\App.apk
Вы увидите вывод такого вида:
Прочитано 65490 идентификаторов методов.
<root>: 65490
: 3
android: 6837
accessibilityservice: 6
bluetooth: 2
content: 248
pm: 22
res: 45
...
com: 53881
adjust: 283
sdk: 283
codebutler: 65
android_websockets: 65
...
Общее количество методов: 65490
Поддерживаются следующие опции:
--include-classes
: Обрабатывать классы как пакеты и предоставлять количество методов для каждого класса. Один из вариантов использования — для протокольных буферов, где весь сгенерированный код в пакете оказывается в одном классе.--package-filter=...
: Учитывать только методы, полное имя которых начинается с этого префикса.--max-depth=...
: Ограничить, насколько глубоко в пути пакетов (или внутренние классы, с --include-classes
) должны быть представлены подсчёты.--filter=[all|defined_only|referenced_only]
: Считать все методы (по умолчанию), только те, которые определены во входном файле, или только те, на которые в нём есть ссылки. Обратите внимание, что методы со ссылками также учитываются при ограничении в 64 КБ.Анализ файла DEX основан на инструменте dexdeps
из исходного дерева Android.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )