📘

Android16KB対応

に公開

はじめに

今回の対応は、先日行われたCA.flutter#4の「Android 16KBページサイズ対応をはじめからていねいに」で発表されていたスライドに則って進めました。
参考記事は最後に載せています!非常にわかりやすい説明がされているのでおすすめです!

今回は実際に対応してみて、詰まったポイントをまとめていきます。

APKのアライメントチェック

zipalign not found

いきなり詰まりました。

NOTICE: Zip alignment check requires build-tools version 35.0.0-rc3 or higher.
  You can install the latest build-tools by running the below command
  and updating your $PATH:

    sdkmanager "build-tools;35.0.0-rc3"

エラー発生箇所としては、スクリプト50行目のif文で条件が一致せずにelse区を通過していた。
ただ、吐き出された指示のご所望通り、私の環境のbuild-tools35.0.0-rc3で通っていた。

試しにエラー発生箇所のif文を外して強制的に実行してみた結果、以下のエラーが発生しました。

./check_elf_alignment.sh: line 52: zipalign: command not found

以下の方法でこのエラーを解決し、アライメントチェックを実施できました。

vim ~/.bash_profile

# 以下のコードを入力
export PATH=$ANDROID_SDK_ROOT/build-tools/<latest-version>:$PATH

source ~/.bash_profile

build.gradle.ktsの修正

ここは詰まるところはありませんでしたが、r27の設定は公式からコピペできます。

NDK対応公式ドキュメント

https://developer.android.com/guide/practices/page-sizes?hl=ja#compile-r27

テスト環境の作成

エミュレータを作成する場合、Android Studioの状態を確認することもあるかと思いますので、以下添付しておきます。

テストエミュレータ作成公式ドキュメント

https://developer.android.com/guide/practices/page-sizes?hl=ja#16kb-emulator

参考記事

https://speakerdeck.com/mine2424/android-16kbpezisaizudui-ying-wohazimekarateineini

Discussion