19

メソッドが多すぎるアプリケーションで問題が発生しています。

以下のリンクの最後の投稿では、投稿者が自分のアプリケーションのメソッド数を投稿しています(パッケージごとに分類されています)。アプリケーションのこの情報を取得する方法が見つかりません。何か提案はありますか?

https://code.google.com/p/android/issues/detail?id=20814

4

8 に答える 8

31

私が使う

cat build/dex/debug/classes.dex | head -c 92 | tail -c 4 | hexdump -e '1/4 "%d\n"'

私は得る55176。64kの制限が来ています:D

于 2014-05-21T10:24:14.450 に答える
13

ビルドごとにメソッドカウント レポートを取得するには、次のようにします。

app/build.gradle:

buildscript {
    repositories {
        mavenCentral() // or jcenter()
    }

    dependencies {
        classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.7.3'
    }
}

// make sure this line comes *after* you apply the Android plugin
apply plugin: 'com.getkeepsafe.dexcount'

独自のプロジェクトと使用するライブラリについて、パッケージごとのメソッドの数が表示されます。

から: https://github.com/KeepSafe/dexcount-gradle-plugin

于 2015-08-31T07:57:07.160 に答える
6

AndroidスタジオでAPK Analyzerを使用できます

https://developer.android.com/studio/build/apk-analyzer.html

于 2017-04-30T08:37:28.237 に答える
5

apk 内のメソッドの数をカウント するツールAPK メソッド カウントがあります。

ライブラリのメソッド数をチェックするサービスMethodscount.comもあります。このサービスには、Android ライブラリの依存関係を解析し、メソッド数を便利なヒントとして表示するAndroid Studio/IntelliJ プラグインもあります。

于 2016-09-15T09:36:14.860 に答える
4

静的コード アナライザーを使用してみてください。たとえば、Source Monitorは無料の SW であり、検索しているカウントが含まれています。

または、追加のプラグインなしで実行したい場合は、これを試してください (Eclipse のみ):

  • Ctrl-H (検索) を押して、[Java 検索] タブを選択します (表示されない場合は、左下隅にある [カスタマイズ...] ボタンをクリックします)。
  • * を検索ボックスに入れる
  • 「検索対象」フィールドセットで「メソッド」を選択します
  • 「制限」フィールドセットで「宣言」を選択します
  • 「検索対象」フィールドセットで「ソース」を選択します
  • 「スコープ」フィールドセットで「ワークスペース」を選択します
  • 「検索」をクリック

検索が完了すると、検索ビューに「XXXX 宣言...」というメッセージが表示され、それが結果になります。

それが役に立てば幸い!

于 2013-03-19T20:15:33.960 に答える
1

JavaNCSS を使用して、そのような統計を取得できます。ここから入手できます: http://www.kclee.de/clemens/java/javancss/

于 2013-03-19T20:15:55.420 に答える