2025/11/17

Android Studioから起動するエミュレータにコマンドラインオプションを設定する

Android Studioから起動するエミュレータにコマンドラインオプションを設定できないかと検索していたら

How to pass command line options to the emulator in Android Studio? - Stack Overflow

に答えがあったので。


起動オプションを設定するには環境変数「studio.emu.params」に値を設定します。注意点としてはスペースを使用せず、「,」 (カンマ)で繋いでいきます。

例えばタイムゾーンを東京にする場合コマンドラインオプションでは

-timezone Asia/Tokyo

と「-timezone」と「Asia/Tokyo」の間にスペースありますが、環境変数で設定する場合、スペースをカンマで置換した形

$ set studio.emu.params=-timezone,Asia/Tokyo

にします。


Android Studio Otter | 2025.2.1 では https://android.googlesource.com/platform/tools/adt/idea/+/refs/tags/studio-2025.2.1/android/src/com/android/tools/idea/avdmanager/AvdManagerConnection.kt#308

で環境変数を取得して設定していました。コミットログを見ると7年以上前からあったらしい。

Diff - dd839c9436e425381256cb2e984305c09a7fbbd9^! - platform/tools/adt/idea - Git at Google

もっと早く知りたかった


2025/07/19

Pixel 6a でバッテリーのサイクル回数を見る

先日発表されたGoogle Pixel 6a バッテリー パフォーマンス プログラム で使用しているPixel 6aが対象だったのと、2025年7月のアップデート (BP2A.250705.008) を入れた後でも、Pixel 6aではバッテリーのサイクル回数が375回以上にならないとサイクル回数が表示されないようです。


なのでバッテリーのサイクル回数を見る方法のメモ書き。


アプリをインストールして見る


「android バッテリー サイクル回数」などで検索すれば出てきます。


コマンドで見る (恐らくAndroid 12以上)


$ adb shell cat /sys/class/power_supply/battery/cycle_count

でサイクル回数が出力されます。
# Pixel 3 (Android 12)でも出力されたのでAndroid 12でもサイクル回数が取得できる?


デバイス診断で見る


Pixel 6aの設定アプリからは消えてしまったサイクル回数はデバイス診断を起動すれば見れます。
amコマンド

$ adb shell am start -n com.android.devicediagnostics/.MainActivity

で起動するか、ショートカットを作成するなどして、デバイス診断を起動をします。

「コンポーネントの状態」 →「バッテリーの状態」でサイクル回数が表示されます。 (初回利用日時は取得できないようです)




アプリを作る(?) (Android 14以上)


Intent intent = registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
if (intent != null) {
    int cycleCount = intent.getIntExtra(BatteryManager.EXTRA_CYCLE_COUNT, -1);
    ~ cycleCount を画面等に出す ~
}

2024/05/24

povo2.0のSIMへの電話番号の書き込みで気付いたこと

 povoのサポートのチャットから依頼し、povo2.0のSIMに電話番号を書き込んでもらいました。

Android 14からは設定 → デバイス情報 → 電話番号 のタップで表示される(Android 13の時は電話番号が表示されなかったような気がする)のですが、SIMへの電話番号の書き込み前後で何か変化があるか気になったので。

検証はPixel 6a (Android 14, ビルド番号 AP1A.240505.004 (Android セキュリティアップデート: 2024/05/05))。


SubscriptionManager#getPhoneNumber(int) で電話番号を取得した場合

電話番号書き込み前は +8190xxxxxxxx

と国番号が付いた形式で返ってきたのが

電話番号書き込み後は 090xxxxxxxx

の形式で返ってきました。


Google電話アプリ

デュアルSIMで使用している場合、Androidの設定 → ネットワークとインターネット → 通話とSMS → 通話 で「毎回確認」に設定していると掛ける時にどちらのSIMを使用するかダイアログが表示されるのですが、書き込み前は電話番号は表示されていなかったのが表示されるようになっていました。

電話番号書き込み前


電話番号書き込み後