2016-02-17 2 views
2

Как подсчитать количество методов в файле библиотеки.Количество меток в библиотеке (Jar/AAR)

Например, Jar или AAR.

Необходимо знать количество идентификаторов ресурсов android, используемых библиотекой, используемой проектом. Это помогло бы оценить, насколько мы близки к 65-кратным пределам Dex в Android.

+0

Возможный дубликат [Есть ли способ получить количество меток чисел, используемых в файле jar] (http://stackoverflow.com/questions/14023397/is-there-a-way-to-get-count- of-number-methods-used-in-a-jar-file) – JesusFreke

ответ

-1

Для этого есть куча скриптов. Просто погубите это немного.

Вот несколько примеров:

https://gist.github.com/toms972/c83504df2da1176a248a

https://github.com/mihaip/dex-method-counts

или даже на StackOverflow:

https://stackoverflow.com/a/14026180/5842844

+0

Спасибо за ответы. Но ни одна из ссылок не имеет решения от конца до конца. 1. Не говорит, как работать 2. Я использовал его, значения не очень точные. 3.SO ответы указывают на метод, на который ссылаются, а не на количество методов, существующих в Jar. Пожалуйста, исправьте меня, если мое понимание неверно. –

+0

Число методов, на которые делается ссылка, - это номер, на который вы хотите посмотреть, предполагая, что вы беспокоитесь о том, что вы нажимаете «ограничение метода 64k» - это ограничение на количество методов, на которые ссылается файл dex. – JesusFreke

+0

@JesusFreke re: 'Число методов, на которые ссылается, - это номер, на который вы хотите посмотреть, ....' предполагает, что вы запускаете proguard для удаления любых классов и методов без ссылок при создании APK. Proguard редко запускается для отладочных сборников, которые необходимо протестировать до того, как сборка релизов будет считаться судоходной. –

3

Почему вы не даете этот сайт попробовать, MethodsCount. Он также дает вам потрясающий плагин Android Studio, который добавляет количество меток рядом со всеми вашими библиотеками в файле build.gradle.

Вы также можете попробовать this и this. Я попробовал их обоих, и их стоит проверить.

+0

[dex-method-counts] Mihail Parparita (https://github.com/mihaip/dex-method-counts) является одним из лучших доступных. –

+2

dex-method-counts не работает с файлами aar. –

10
  • dexcount-gradle-plugin: Gradle плагин, работает для любого Android проекта (библиотеки или приложения), хороший D3 Санберст выходной раздел диаграммы.
  • dex-method-counts: инструмент командной строки, поддерживает APK/почтовый/DEX/каталог.
  • Methods Count: работает только для онлайн публичной библиотеки, просто дать библиотеку 'компилировать' заявление (например, com.google.code.gson: gson: 2,4).
  • APK method count: работает только для APK, расширяемый результат дерева.
1

Я создал небольшой shell script, который использует решение, предоставленное на другом StackOverflow Answer для файлов jar. Может быть, все еще может быть полезно. Он берет файл AAR и возвращает метод count. Но для этого вам нужно установить Android SDK.

Смежные вопросы