2014年11月29日土曜日

[Android] アプリのメソッド数を知るには

dex-method-countsというツールを使うと、APK内に含まれるメソッド数をパッケージ毎に知ることができる。

レポジトリをクローンしてきたらまずはツールのビルド。

./gradlew assemble

ビルドしたら、レポジトリのディレクトリで下記のコマンドを実行すると、指定のAPKのメソッド数をカウントしてくれる。

./dex-method-counts path/to/app.apk

アウトプットはこんな感じ

Read in 49877 method IDs.
<root>: 49877
    : 8
    android: 8768
        accessibilityservice: 6
        accounts: 4
        animation: 2
        app: 308
        bluetooth: 2
        content: 260
            pm: 24
            res: 51
            ...
        support: 6302
            annotation: 3
            v4: 6299
                accessibilityservice: 41
                app: 1371
        ...
    butterknife: 161
        internal: 89
    com: 30662
        bumptech: 2113
            glide: 2113
                ...
        google: 22969
            ...
Overall method count: 49877

ご覧のように、パッケージごとに細かくメソッド数を算出してくれる。

下記のようなエラー(いわゆる65K問題)が出てしまった時、削るライブラリの候補を考えるのに便利。

trouble writing output:
Too many field references: 131000; max is 65536.
You may try using --multi-dex option.

2014年11月13日木曜日

Nexus 5にAndroid 5.0(Lollipop)のFactory Imageを焼く

11/13についにAndroid 5.0のNexusu端末向けFactory Imageが公開されました。
Nexus4など一部端末は遅れるようですが、楽しみですね

前提条件

  • adbfastbootがコマンドラインから使えること
  • 端末内の必要なデータはバックアップしてあること

手順

  1. Factory Imageをダウンロード、解凍する

  2. Factory Imageを回答したディレクトリ内にターミナルで移動する

  3. bootloaderに再起動する。

    adb reboot bootloader
  4. bootloaderをアンロックします。

    fastboot oem unlock

    端末上で音量ボタンで"Yes"を選択し、電源ボタンでOKしてください。
    ※これを実行しないとFactory Imageを焼けませんが、保証がなくなるので充分注意してください。
    当方では一切責任を負いません。
    ※実行すると端末内のデータがすべて消えます。予めバックアップをとっておいてください。

  5. 予め用意されている、必要なデータをすべて焼くスクリプトを実行します。

    sh flash-all.sh

以上で手順は終わりです。 作業が終わったら端末が自動的に再起動します。

※"missing system.img"ダイアログが表示される場合

稀に"missing system.img"と出てうまくFactory Imageが焼けない事があるようです。
そんな場合は、下記の手順で進めるとうまくいくようです。

  1. image-hammerhead-lrx21o.zipを解凍する
  2. bootloaderを焼く

    fastboot flash bootloader <bootloaderファイル名>
  3. radioを焼く

    fastboot flash radio <radioファイル名>
  4. 一度bootloaderを再起動する

    fastboot reboot-bootloader
  5. 残りのファイルを焼く(image-hammerhead-lrx21o.zip内のファイル)

    fastboot flash recovery recovery.img
    fastboot flash boot boot.img
    fastboot flash system system.img
    fastboot flash cache cache.img
    fastboot flash userdata userdata.img
  6. 再起動する

    fastboot reboot

こちらからは以上です。 よいLollipopライフを!

参考:

2014年11月6日木曜日

GooglePlayストアで英語圏のレビューを見る方法(ブラウザ限定)

アドレスバーのURL末尾に下記内容を追記する。

&hl=en

hl=xxがすでにURLについている場合は置き換えてください。

hlhost languageの略です。enは英語。
このあたりに他の言語コードも書いてあるので、置き換えてみると他の言語のレビューも閲覧できます。

日本ではマイナーなアプリの評判を見るときに重宝します。