2026/10/17
Androidの「緊急速報メールの履歴」で表示される情報をコマンドラインで取得してみる
2025/12/30
Android 16で通知を自動的にグループ化されないようにする (アプリ開発者側での話)
この記事を書いている時点ではAndroid 16においてユーザー側で通知のグループ化を無効にする方法はありません。アプリ開発者側での話になります。
Android 13~15までは、通知を作成する時にNotification.Builder#setGroup(java.lang.String)でグループキーを設定しておけばグループ化されず、個別に通知が表示されていました。しかしAndroid 16からこの回避策が効かなくなり、通知を2つ以上出すと自動的にグループ化されるようになってしまいました。
参照: Android 16 が登場
Android パブリックトラッカーでAndroid 16での通知のグループ化をアプリごとでオプトアウトできるようにと要望も上がっていましたが、今のところGoogleはやらないようです。
参照: Per-app setting to opt-out of Android 16 notification grouping
Androidアプリの開発者向けのページの 通知の動作 によるとAndroid 16.0 (API レベル 36) では
次の通知は自動的にグループ化されます。
- 要約のない通知
- 子通知のない通知
- 子通知が 1 つまたは少ない通知
となっています。つまり要約(Summary)があればグループ化されなさそうです。
で、ボタンをタップして通知を出すサンプルコード。
button.setOnClickListener { v ->
val notification = Notification.Builder(this, CHANNEL_ID)
.setSmallIcon(R.drawable.ic_android)
.setGroup("group-$count")
.setContentText("count=$count")
.build()
notificationManager.notify(count, notification)
val notificationSummary = Notification.Builder(this, CHANNEL_ID)
.setSmallIcon(R.drawable.ic_android)
.setGroup("group-$count")
.setGroupSummary(true)
.build()
notificationManager.notify(Integer.MAX_VALUE - count, notificationSummary)
count++
}
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 でバッテリーのサイクル回数を見る
Pixel 6aで2025/07のアップデートを適用後、設定のバッテリー画面で充電サイクル回数が表示されてる人がいるんだけど、自分のは出てないのでPixel 6aの設定アプリをばらしてみたところ、充電サイクル回数が375回以上かつバッテリーヘルスがBATTERY_HEALTH_DEAD(=4)か8になると表示されるようだ。
— Oっくん (@okkun_zzz) July 14, 2025
アプリをインストールして見る
コマンドで見る (恐らくAndroid 12以上)
デバイス診断で見る
アプリを作る(?) (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を使用するかダイアログが表示されるのですが、書き込み前は電話番号は表示されていなかったのが表示されるようになっていました。
電話番号書き込み前
電話番号書き込み後
2022/11/07
Termuxがリポジトリのエラーで起動できない場合の直し方
久々にTermuxを起動したら
と起動できなくなってたので直し方。
TermuxはF-Droid https://f-droid.org/packages/com.termux/ のバージョン0.118.0(118) です。
手順は
1. Failsafeで起動
2. 環境変数PATHに /data/data/com.termux/files/usr/bin を設定
3. 必要なら sources.list を編集
4. termux-change-repo を実行
5. パッケージの更新
6. Failsafeで起動したTermuxを終了
になります。
以下細々した説明。
Termuxのアイコンを長押ししてFailsafeで起動します。
Failsafeで起動した場合、/data/data/com.termux/files/usr/bin へのPATHが設定されていないので設定し直します。(termux-change-repoから呼ばれるコマンドが /data/data/com.termux/files/usr/bin にあるので)
Failsafeから起動すると /data/data/com.termux/files/home にいるので
で /data/data/com.termux/files/usr/bin に移動してから
で現在いるディレクトリ(/data/data/com.termux/files/usr/bin)をPATHに設定し直します。
termux-change-repoを実行しリポジトリの再設定をしたのですが、署名のベリファイでエラーが出たので https://github.com/termux/termux-packages/wiki/Mirrors#primary-host に書かれているエントリーに直します。
/data/data/com.termux/files/usr/bin にいるので
で /data/data/com.termux/files/usr/etc/apt に移動してから
で sources.list を編集します。エントリーは
とCloudFlareのが設定されていたのですがベリファイでエラーが出てるので
に変更し保存。
termux-change-repoを実行します。
使用するリポジトリを選択します。
リポジトリのエントリーが変更されるとそのままパッケージのアップグレードに進むのでアップグレードします。アップグレードが終了したらFailsafeで起動したTermuxを終了します。
これでTermuxが起動するようになりました。
2022/10/25
Android 13では通知を2つ以上出すとグループ化される
Android 13から同じアプリが2つ以上の通知を送信した場合に、グループ化が指定されていないと自動でグループ化されます。(たまに2つ表示されるときもあるのですが、ソースは追ってません)
ドキュメント(日本語 / 英語)では4つ以上となっていますが、今の所ドキュメントは修正されていないようです。
参考:
Android 12Lまでは config_autoGroupAtCount の値が「4」でしたが
Android 13から「2」に変更されました。
変更のコミットログ
2023/01/09 追記
2022/02/03
APK内のclasses.dexが圧縮されない
Google PlayにアップロードするときはAndroid App Bundle形式になってきてて気にならなかったりするのでメモがてら。
AGP 4.2.0-alpha07で変更されたらしく、minSdkが28以上で作成されたAPK内のclasses.dexは圧縮されません。
https://issuetracker.google.com/issues/199427345?pli=1#comment3
Android Gradle pluginのリリースノートには当初載ってなかったらしく追加されています。
DEX files uncompressed in APKs when minSdk = 28 or higher
以前のようにclasses.dexを圧縮したい場合は↑のリンク先にもあるようにbuild.gradleに
dex {
useLegacyPackaging true
}
}
を追加します。
2022/01/23
5G n79対応のAndroid端末 (2023/09/22現在)
| モデル名 | 発売日 | 発売時のOSのバージョン | |
|---|---|---|---|
| Pixel Fold | 2023/07/27 | Android™ 13 | Google Pixel Fold の技術仕様と画面サイズ - Google ストア |
| Pixel 7a | 2023/05/11 | Android™ 13 | Google Pixel 7a の技術仕様 - Google ストア |
HTC
| モデル名 | 発売日 | 発売時のOSのバージョン | |
|---|---|---|---|
| Desire 22 pro | 2022/10/01 | Android™ 12 | HTC Desire 22 pro | HTC 日本 |
Microsoft
| モデル名 | 発売日 | 発売時のOSのバージョン | |
|---|---|---|---|
| Surface Duo 2 | 2022/01/11 | Android™ 11 | スペック |
Motorola
| モデル名 | 発売日 | 発売時のOSのバージョン | |
|---|---|---|---|
| razr 40 ultra | 2023/07/21 | Android™ 13 | motorola razr 40 ultra |
| razr 5G | 2021/03/26 | Android™ 11 | Motorola Razr 5G |
Planet Computers
| モデル名 | 発売日 | 発売時のOSのバージョン | |
|---|---|---|---|
| Astro Slide 5G | 2021/11/xx ? | Android™ 11 | スペック |
SHARP (キャリア販売以外)
| モデル名 | 発売日 | 発売時のOSのバージョン | |
|---|---|---|---|
| AQUOS R8 pro SH-R80P | 2023/08/31 | Android™ 13 | スペック |
| AQUOS R8 SH-R80 | 2023/08/31 | Android™ 13 | スペック |
| AQUOS wish3 SH-M25 | 2023/07/21 | Android™ 13 | スペック サポート |
| AQUOS sense7 SH-M24 | 2022/11/25 | Android™ 12 | スペック サポート |
| AQUOS sense6 SH-M19 | 2021/11/26 | Android™ 11 | スペック サポート |
| AQUOS R6 SH-M22 | 2021/09/24 | Android™ 11 | スペック サポート |
| 2021/03/12 | Android™ 11 | スペック | |
| AQUOS wish SH-M20 | 2022/02/18 | Android™ 11 | スペック サポート |
Sony (キャリア販売以外)
| モデル名 | 発売日 | 発売時のOSのバージョン | |
|---|---|---|---|
| Xperia 5 V XQ-DE44 | 2023/10/中旬 | Android™ 13 | スペック |
| Xperia 10 V XQ-DC44 | 2023/08/04 | Android™ 13 | スペック サポート |
| Xperia 1 V XQ-DQ44 | 2023/07/14 | Android™ 13 | スペック サポート |
| Xperia 5 IV XQ-CQ44 | 2023/02/01 | Android™ 12 | スペック サポート |
| Xperia 1 IV XQ-CT44 | 2022/09/16 | Android™ 12 | スペック サポート |
| Xperia 10 IV XQ-CC44 | 2022/07/22 | Android™ 12 | スペック サポート |
| Xperia 5 III XQ-BQ42 | 2022/04/22 | Android™ 12 | スペック サポート |
| Xperia PRO-I XQ-BE42 | 2021/12/15 | Android™ 11 | スペック サポート |
| Xperia 1 III XQ-BC42 | 2021/11/19 | Android™ 11 | スペック サポート |
| 2021/05/28 | Android™ 11 | スペック サポート |
|
| 2021/02/10 | Android™ 10 | スペック サポート |
|
| 2020/10/30 | Android™ 10 | スペック サポート |
docomo
対応周波数帯 - NTTドコモ 参照 (PDF)au
| モデル名 | 発売日 | 発売時のOSのバージョン | |
|---|---|---|---|
| Pixel Fold | 2023/07/27 | Android™ 13 | Google Pixel Fold 実装周波数一覧 (PDF) au携帯電話などの対応周波数帯一覧 |
| Pixel 7a | 2023/05/11 | Android™ 13 | Google Pixel 7a 実装周波数一覧 (PDF) au携帯電話などの対応周波数帯一覧 |
| AQUOS sense7 SHG10 | 2022/11/11 | Android™ 12 | au携帯電話などの対応周波数帯一覧 |
ソフトバンク
| モデル名 | 発売日 | 発売時のOSのバージョン | |
|---|---|---|---|
| Pixel Fold | 2023/07/27 | Android™ 13 | Google Pixel Fold 搭載周波数帯一覧 (PDF) |
| Pixel 7a | 2023/05/11 | Android™ 13 | Google Pixel 7a 搭載周波数帯一覧 (PDF) |
| AQUOS R7 | 2022/07/08 | Android™ 12 | SHARP AQUOS R7 搭載周波数帯一覧 (PDF) |
参考: SIMロックが解除可能な機種及びSIMフリー機種の周波数帯一覧 (PDF)
ワイモバイル
| モデル名 | 発売日 | 発売時のOSのバージョン | |
|---|---|---|---|
| Android One S10 | 2023/01/19 | Android™ 13 | 京セラ Android One S10 搭載周波数帯一覧 (PDF) |
参考: SIMロックが解除可能な機種及びSIMフリー機種の周波数帯一覧 (PDF)
楽天モバイル
| モデル名 | 発売日 | 発売時のOSのバージョン | |
|---|---|---|---|
| Xperia 5 V | 2023/10/中旬 | Android™ 13 | スペック詳細 |
| AQUOS wish3 | 2023/07/06 | Android™ 13 | スペック詳細 |
| Xperia 10 V | 2023/07/06 | Android™ 13 | スペック詳細 |
| AQUOS sense7 | 2022/11/04 | Android™ 12 | スペック詳細 |
| Xperia 5 IV | 2022/10/21 | Android™ 12 | スペック詳細 |
| Xperia 10 IV | 2022/07/08 | Android™ 12 | スペック詳細 |
| AQUOS wish | 2022/01/21 | Android™ 11 | スペック詳細 |
2021/11/03
Android 12のクイック設定にWi-Fiとモバイルデータを追加する (エミュレータでの話)
2022/08/18 追記
Android 13ではクイック設定のWi-Fiとモバイルデータは分離できなくなりました。
変更時のコミット
2022/08/18 追記ここまで
以下Android 12での内容です。
ここではAndroid Studioのエミュレータを使用しています。
実機では確認していませんので実機で設定を変更される方は自己責任でお願いします。
2021/11/12 追記: reddit への投稿によると実機でもできるようです。
2022/02/11 追記 ここから
2022/02/08 (日本時間) にリリースされた Pixel 3のアップデート (ビルド番号 SP1A.210812.016.C1) では2021/11のセキュリティパッチが取り込まれていないので、以前と同じ方法
のみでWi-Fiとモバイルデータをクイック設定に追加できます。
追記ここまで
Android 12になってからクイック設定のWi-Fiとモバイルデータが1つにまとめられインターネットとなりました。Android 12にアップデートした直後は
9To5Google - How to bring back the Wi-Fi and mobile data toggles on Android 12
XDA - Google explains the reasoning behind Android 12’s Internet Quick Settings tile
で紹介されている方法でできていたのですが、2021/11のセキュリティパッチを適用するとこの方法が使えなくなるようです。
コミットログを見てみると
Pixel 3a, Pixel 3a XL, Pixel 4, Pixel 4a, Pixel 4a (5G), Pixel 4 XL, Pixel 5, Pixel 5a (5G)
https://android.googlesource.com/platform/frameworks/base/+/39627225836a334d785e2176ca517effe806ec3a
Pixel 6, Pixel 6 Pro
https://android.googlesource.com/platform/frameworks/base/+/a8c61c93a4adc401781424ff87167c8f2b02c332
でクイック設定の表示する項目でWi-Fi、モバイルデータがあった場合、削除するようになっています。
9To5Google、XDAで紹介された方法ではAndroid Studioのエミュレータ (Android 12 ビルド番号 SE1A.211012.001) ではWi-Fi、モバイルの追加ができなかったので、エミュレータも恐らくこのパッチが適用されているのだろう、ということで差分からクイック設定にWi-Fi、モバイルデータを追加できないか確認してみます。
差分を見ると FeatureFlags というのが追加されています。さらに
で featureFlags.isProviderModelSettingEnabled()
は FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL) を返しているだけなので
最初に SETTINGS_PROVIDER_MODEL (= settings_provider_model)の値を確認。
次に SETTINGS_PROVIDER_MODEL の値を false に設定します。
SETTINGS_PROVIDER_MODEL を削除したのは設定アプリでこの値を参照しているのがいくつかあったので初期状態に戻すためです。
補足: SETTINGS_PROVIDER_MODEL のキーを削除しているので、端末の再起動、クイック設定の並び替えを行うとWi-Fi、モバイルデータの項目が消えます。
最後にもう一度
実機では確認していませんので実機で設定を変更される方は自己責任でお願いします。
参考: Connectivity User Interface
2021/10/12
回転提案ボタンの消し方
回転提案ボタン(下の画像の矢印)の消し方
詳しくは Android Open Source Project の 画面の回転の提案 を参照。
回転提案ボタンを非表示にするにはPCから
回転提案ボタンを表示する(元の設定に戻す)には、デフォルトではshow_rotation_suggestionsというキーはないので
でキーを削除するか
で値を1にする。
2020/06/01
Rakuten MiniのNFCのアイコンを消す
まずPCとRakuten Miniを繋ぎ、ステータスバーで現在非表示になっている項目を取得します。
2020/02/22
Android 11 Developer Preview 1 のスマートフォン情報が入っているパッケージ
Android 10では com.android.settings/.RadioInfo だったのが、
Android 11 Developer Preview 1では com.android.phone/.settings.RadioInfo に変更されてた。
2019/10/21
Android 10でのMIME typeの定義が更新されてた
#Android 10からは "font/*" の指定が効くようになったのでTrueTypeフォント、OpenTypeフォントのファイルのみ選択させることができますね。
2018/10/08
Android Studioのレイアウトエディタのプレビューのフォントを日本語フォントに
Windows 8.1 (64bit), Android Studio 3.2 (Windows 64-bit)の場合、修正するファイルは
2018/10/12 追記
ファイルを編集すると、Android Studioのアップデートに失敗します。必ずバックアップを取っておいてください。また、Android Studioのアップデートは元のファイルに戻してから行うようにしてください。
追記ここまで
でパッチ。 日本語で使用するフォント(<family lang="ja">)を中国語(簡体字)(<family lang="zh-Hans">), 中国語(繁体字), 中国語(注音符号)(<family lang="zh-Hant zh-Bopo">)より前にもってきます。
XML修正前は中華フォントで表示されていたのが
XML修正後は日本語のフォントで表示されるようになりました。
2018/09/26
AndroidXへ移行後に出たNot annotated parameter overrides @NonNull parameterという警告
2018/08/14
イースターエッグ ねこあつめのねこの数え方
Android 8.xの時の「たこ」も残っており、
で起動できます。
ここから本題
Android 7.x, 8.x, 9.xのイースターエッグ ねこあつめで集まったねこの数を画面上で数えようとすると手間が掛かります。そこでねこの情報が格納されている設定ファイルからねこを数えてみます。
イースターエッグ ねこあつめの設定ファイルはソースから
/data/data/com.android.egg/shared_prefs/mPrefs.xml
にあることが分かります。
設定ファイルの内容は(既にねこが集まっている場合)、以下の様になっています。
<map>
<string name="cat:1871912869">Cat #869</string>
<string name="cat:771645645">Cat #645</string>
<int name="food" value="3" />
<string name="cat:2101744869">Cat #869</string>
</map>
・<map>
・<int name="food" value="n" /> (現在置いているエサの種類)
・</map>
root権限がある場合
端末上なら
PCからだとadbで接続して
で設定ファイルの行数が表示されるのでここから4引いた数がねこの数になります。
root権限がない場合
root権限がない場合、/data以下のファイルは直接読むことができません。しかし、設定ファイルはadb backupで取得することができます。手順としては、(1) PCからadb backupでイースターエッグ (com.android.egg) の設定をバックアップ
(2) PC上でAndroid Backup Extractorを使用してバックアップファイルをTAR形式に変換
(3) TAR形式に変換したファイルから設定ファイル (mPrefs.xml) を抽出して行数 -4
でねこの数を数えることができます。
adb backupの説明は公式サイト (https://developer.android.com/studio/command-line/adb?hl=en) を参照。
(1) PCからadb backupでイースターエッグ (com.android.egg) の設定をバックアップ
-f でバックアップファイル名を指定 (この場合egg.ab) し、バックアップします。
端末とPCを接続後、
でPC側に egg.ab が作成されます。
(2) PC上でAndroid Backup Extractorを使用してバックアップファイルをTAR形式に変換
次にAndroid Backup Extractorのサイトから、
android-backup-extractor-YYYYMMDD-bin.zip (YYYYMMDDはリリース年月日)
というファイルをダウンロードし、ZIPファイルの中から abe.jar を抽出します。
(Android Backup Extractorの実行にはJREが必要になります)
引数に unpack、読み込むバックアップファイル (egg.ab)、出力するファイル名 (egg.tar) を指定して、
でバックファイル (egg.ab) がTAR形式 (egg.tar) で出力されます。
(3) TAR形式に変換したファイルから設定ファイル (mPrefs.xml) を抽出して行数 -4
あとはtarファイルの中から mPrefs.xml を抽出し、ファイルの行数から4を引けばねこの数になります。
で mPrefs.xml の行数が表示されるのでここから4引いた数がねこの数になります。
--
ここまで書いておいてなんですが、
Android 8.0 の 2018/03/01 以降のセキュリティパッチを当てるとThreadLocalRandomの動作が変わるようで、(Android 8.1, Android 9も含む。Android 7系は不明)
https://android.googlesource.com/platform/frameworks/base/+/7bcd6aa4f71a45b27a7f4486e35ebe29fa9eb507/packages/EasterEgg/src/com/android/egg/neko/Cat.java#203
で新しいねこが来る時に生成される乱数が端末を再起動しない限り同じ値を返すようになってしまって、ねこがなかなか増えない状態になってます。
プロセスが生きている間は 10 → 24 → 49 → 34 → ... のようにランダムに値を返すのですが、プロセスが一旦終了し再び実行されると 10 → 24 → 49 → 34 → ... と同じ値を返すようになっています。つまり、
新しいねこがくる(乱数で生成された値がnnn)、プロセスが終了する、
新しいねこがくる(乱数で生成された値がnnn)、プロセスが終了する、
の繰り返しになってしまい、新しく来るねこが毎回同じねこになってしまって…
2018/06/14
Termux上でFDcloneを動かす
Android 9に対応したFDclone 3.01iがリリースされました。
pkgコマンドでclang, make,
2019/09/16 追記
ncurses-devに含まれているヘッダーファイルなどはncursesのパッケージに含まれるようになりました。
また、ncursesはTermuxの初回起動時にインストールされるので、FDcloneのコンパイルに追加で必要になるパッケージはclang, make (とこれらが依存するbinutils libffi libllvm ndk-sysroot) になります。
2019/09/16 追記ここまで
以下は古い情報です。
2019/05/25 追記ここまで
Termux上でFDcloneを動かそうとした場合、TermuxのAPTリポジトリにFDcloneは無いので自前でコンパイルする必要があります。
makeコマンド一発でコンパイルできればよかったのですが、FDcloneのInstallにもある通り、FDcloneはAndroid 4.xまでの対応となっており、Android 5.0からのサポートされた64bit環境でのコンパイルには対応していません。
ソースを修正してみたところ、少しの修正で済んだのでパッチを上げておきます。
Termuxのバージョン: 0.60
FDcloneのバージョン: 3.01g
端末は
Xperia X Compact (Android 8.0.0 (CPU ABI: arm64-v8a))
Android エミュレータ (Google Play Inten x86 Atom_64 System Image API Level 28 Revision 3)
でコンパイルし、FDcloneが起動するところまで確認しています。
パッチ FD-3.01g-android-termux.patch
FDclone コンパイル手順
コンパイルに必要なパッケージをインストールします。clangを動かすにあたり必要なパッケージ (binutils, libandroid-support-dev, libffi, libllvm, ndk-stl, ndk-sysroot) もインストールされます。
FDcloneのページからダウンロードしたFD-3.01g.tar.gzを展開し、
パッチを当てます。
FDcloneのソースのあるディレクトリに移動してコンパイルして
$ make CC=clang PREFIX=$PREFIX CONFDIR=$PREFIX/etc
インストール。マニュアルは不要なので、バイナリのみインストールしています。
2019/05/08 訂正
マニュアルもインストールする場合はMANTOPの場所を指定し、install-manを追加します。
2019/05/08 訂正ここまで
Android 6.0からハードリンクの作成はできなくなっているのでlnコマンドにオプション "-s" を追加してシンボリックリンクを作成するようにします。
これでFDcloneを動かすのに必要なファイル(fd, fd-cat.C, fd-cat.ja, fd-dict.tbl, fd-unicd.tbl, fdsh)が /data/data/com.termux/files/usr/bin/ にインストールされます。
2018/06/15 追記
FDcloneを起動した状態での上下のスワイプはカーソルの上下になるので、Google 日本語入力のように左右のカーソルキーがあるソフトウェアキーボードを使用すれば、ハードウェアキーボードが無くても結構使えます。
2018/08/29 追記
Google 日本語入力の場合、カーソルキーのフリックでカーソルの上下もできることを教えていただきました。
2018/08/15 追記
2018/08/11にリリースされたFDclone 3.01hですが、FD-3.01h.tar.gzを展開したディレクトリに移動後、patchコマンドのオプションを "-p2" に変更しパッチを適用すればコンパイルできます。
$ cd FD-3.01h
$ patch -p2 < ../FD-3.01g-android-termux.patch
$ make CC=clang PREFIX=$PREFIX CONFDIR=$PREFIX/etc
$ make LN="ln -s" install-bin
2018/02/23
Android 8.0にしたXperiaでステータスバーの時計の午前/午後を消す
邪魔なので消します。
Re: Sony Android Oreo Flavor: Accordion in Notification Bar on Network Activity
を参考にパッケージ(apk)を作成します。
まず、パッケージの情報と設定を変更する項目を指定したリソースファイルを作成
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="jp.blogspot.zau2and.hideampm"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk
android:minSdkVersion="26"
android:targetSdkVersion="26" />
<overlay
android:priority="1"
android:targetPackage="com.android.systemui" />
</manifest>
res/values/config.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="config_showAmpm">false</bool>
</resources>
続いてコマンドラインでパッケージの作成
パッケージの作成
アライメント (zipalign)
パッケージへの署名 (apksigner)
キーストアのパスワードの入力後、インストール可能なパッケージが作成されるのでPCと端末を接続しインストール
パッケージの設定を有効にします。
消えました。
午前/午後を表示したくなった場合、
とコマンドを打つか、パッケージをアンインストールします。
#設定を変更する項目で指定した「config_showAmpm」はAOSPのconfig.xmlには無い項目なのでSonyのカスタマイズかな
2018/02/07
Andrdoid 8.0/8.1 でのイースターエッグのねこあつめ
ただ、最初から Android 8.x が入った端末では Android 7.x と同じ方法ではねこあつめを始めることはできません。
最初から Android 8.x だった端末でイースターエッグのねこあつめを有効にするにはPCから
を実行します。実行後、Android 7.x でねこあつめを有効にした時と同じようにねこが表示されるので、Android 7.x の時と同じように通知にねこあつめのお皿を置いてあげれば動きます。
2018/11/24 追記
Android 9でも遊べると以前書いたのですが、Pixelシリーズのソースを見ると、
・Pixel, Pixel XL(発売時Android 7.1.0)ではAndroid 9にアップデートしてもねこあつめが残っている
・Pixel 2, Pixel 2 XL(発売時Android 8.0.0)ではAndroid 9にアップデートするとねこあつめは(おそらく)削除される
・Pixel 3, Pixel 3 XL(発売時Android 9)は最初から無い
というものでした。
他の端末でも発売時にAndroid 8.0/8.1だった端末をAndroid 9にアップデートするとねこあつめが削除されて遊べなくなるかもしれません。
追記ここまで
Pixel, Pixel XLですが、Android 9 2018-12-05のセキュリティパッチ(該当するイースターエッグのソース)でねこあつめが削除されペイントになっています。
Essential PH-1はAndroid 9 2019-02-05のセキュリティパッチでねこあつめが削除されペイントになっています。
追記ここまで
Android 8.0/8.1 でねこあつめに修正が入ったかソースを見てみると Android 7.1.2 の時から3回修正が入っていました。
・51efddbd3bb304de2dd47fa8cd1114ac555958bb
キャストの削除だけなので、見た目などの変更はありません。参考: Android 8.0 の機能と API # findViewById() 署名の変更
・49ddb0de55020320a4f08bd7060cb531a84fb536
Android 8.0 のイースターエッグの追加。見た目などの変更はありませんが、Android 7.x 用のまま Android 8.0 向けでコンパイルしているため、(1) ねこが来ても通知に表示されない
(2) ねこの画像の共有時、アプリが落ちる
ようになってしまいました。
(1)の原因は Android 8.0 で通知の仕様に変更があったためです。修正する必要があったのですが忘れられていたようです。
参考: Android 8.0 の機能と API #通知
(2)の原因は Android 7.0 から FileProvider クラスを使用してファイルの共有をする必要があるのですが、FileProvider を使用していないため落ちます。
参考: Android 7.0 の動作の変更点 #アプリ間のファイルの共有
・7bcd6aa4f71a45b27a7f4486e35ebe29fa9eb507
Android 8.1 では上記の2つのバグの修正と、Treatがドーナツからクッキー(オレオ)に変更されました。(クッキーと書いたのは画像ファイルがfood_cookie.xmlになっていたので)Android8.1でもねこあつめは残ってるのかな、と思ってエミュレータを起動してみたら、Treatがオレオになってるw pic.twitter.com/KJVqLqOx81— Oっくん (@okkun_zzz) 2017年10月27日



















