Android Studio 2.2でApkのメソッド数をかぞえる

Android

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

前回Androidのメソッド数を測定するでは、mihaip/dex-method-countsを使った方法を紹介しました。 Android Studio 2.2がリリースされたことで、標準でメソッド数を数えることができるようになりました。 Android Studio 2.2 | Android Developers Blog

Android Studio 2.2でのメソッド数の測定

今回はNew ProjectからEmpty Activityで作ったApkの測定をする

1.まずは普通に、ビルドする

Android Studioから作る場合、 三角ボタン▶(Run)をおす

コマンドから作る場合

./gradlew assembleDebug

ビルドが成功すると

(プロジェクトのディレクトリ)/app/build/outputs/apk/debug.apk

が生成されます

2.apkをAndroid Studio 2.2で開く

(プロジェクトのディレクトリ)/app/build/outputs/apk/debug.apk をAndroid Studio2.2でひらきます

スクリーンショット_2016-09-27_8_56_27

スクリーンショット_2016-09-27_8_56_58

スクリーンショット_2016-09-27_8_57_26

apkでどこがサイズをくってるのかもわかります

ss

16936メソッドあること、どのパッケージにどのくらいメソッドあるのかもわかります。

補足:dex-method-countsでメソッド数を測定

念のため、mihaip/dex-method-countsでも測定しました。16936となり一致しました!!

$ dex-method-counts app/build/outputs/apk/app-debug.apk 
Processing app/build/outputs/apk/app-debug.apk
Read in 16936 method IDs.
<root>: 16936
    <default>: 1
    android: 16520
        accessibilityservice: 7
        animation: 20
        app: 209
        content: 249
            pm: 22
            res: 97
        database: 29
        graphics: 258
            drawable: 97
                shapes: 3
            pdf: 3
        hardware: 14
            display: 3
            fingerprint: 11
        location: 5
        media: 187
            browse: 19
            session: 91
        net: 34
        os: 161
        print: 33
            pdf: 5
        provider: 9
        service: 10
            media: 10
        support: 13820
            annotation: 23
            compat: 1
            coreui: 1
            coreutils: 1
            fragment: 1
            graphics: 291
                drawable: 291
                    animated: 1
            mediacompat: 1
            v4: 9405
                accessibilityservice: 48
                animation: 62
                app: 1780
                content: 321
                    pm: 1
                    res: 53
                database: 3
                graphics: 311
                    drawable: 256
                hardware: 84
                    display: 19
                    fingerprint: 65
                internal: 74
                    view: 74
                media: 1476
                    session: 856
                net: 91
                os: 77
                print: 105
                provider: 96
                text: 116
                    util: 20
                util: 285
                view: 3156
                    accessibility: 1264
                    animation: 29
                widget: 1319
            v7: 4096
                app: 927
                appcompat: 15
                content: 27
                    res: 27
                graphics: 69
                    drawable: 69
                text: 3
                transition: 2
                view: 826
                    menu: 679
                widget: 2227
        text: 46
            method: 4
            style: 3
            util: 3
        transition: 17
        util: 40
        view: 881
            accessibility: 228
            animation: 32
            inputmethod: 2
        webkit: 4
        widget: 487
    com: 20
        kamei: 20
            apksample: 20
    java: 380
        io: 45
        lang: 191
            ref: 2
            reflect: 18
        math: 1
        net: 4
        nio: 1
        text: 2
        util: 136
            concurrent: 25
                atomic: 5
            regex: 6
    org: 14
        xmlpull: 14
            v1: 14
Overall method count: 16936

まとめ

すごく簡単になりました。

みなさんもぜひ試してみてください!

Android Studio 2.2ではもっとたくさんの機能が追加されたので、いろいろ試してみたいです。

参考文献

AWS Cloud Roadshow 2017 福岡