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 にいるので

$ cd ../usr/bin

で /data/data/com.termux/files/usr/bin に移動してから

$ export PATH=`pwd`

で現在いるディレクトリ(/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 にいるので

$ cd ../etc/apt

で /data/data/com.termux/files/usr/etc/apt に移動してから

$ nano sources.list

で sources.list を編集します。エントリーは

deb https://packages-cf.termux.dev/apt/termux-main stable main

とCloudFlareのが設定されていたのですがベリファイでエラーが出てるので

deb https://packages.termux.dev/apt/termux-main stable main

に変更し保存。

termux-change-repoを実行します。

$ termux-change-repo

使用するリポジトリを選択します。



リポジトリのエントリーが変更されるとそのままパッケージのアップグレードに進むのでアップグレードします。アップグレードが終了したらFailsafeで起動したTermuxを終了します。

これでTermuxが起動するようになりました。

2022/10/25

Android 13では通知を2つ以上出すとグループ化される

 Android 13から同じアプリが2つ以上の通知を送信した場合に、グループ化が指定されていないと自動でグループ化されます。(たまに2つ表示されるときもあるのですが、ソースは追ってません)

ドキュメント(日本語 / 英語)では4つ以上となっていますが、今の所ドキュメントは修正されていないようです。

参考:

Android 12Lまでは config_autoGroupAtCount の値が「4」でしたが

https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-12.1.0_r1/core/res/res/values/config.xml#4097

Android 13から「2」に変更されました。

https://android.googlesource.com/platform/frameworks/base/+/refs/tags/android-13.0.0_r1/core/res/res/values/config.xml#4274

変更のコミットログ

https://android.googlesource.com/platform/frameworks/base/+/7829fad8435b086867f624d30e763238e1866af9%5E%21/#F0


2023/01/09 追記

IssueTracker に投げてみました。

それから文字だけだと分かり辛いので画像を追加しました。

Android 12Lまでは通知を4つ出した時点でグループ化




Android 13からは通知を2つ出した時点でグループ化




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に

android {
    packagingOptions {
        dex {
            useLegacyPackaging true
        }
    }
}

を追加します。