LoginSignup
0
0

AGP8以降からnamespaceはgradleへ

Posted at

はじめに

AGP8.0がリリースされたのは去年の4月ごろなのでもう1年が経過しているのですね。
本当にあっという間だと感じますが、AGP8以前はmanifestのnamespace設定は警告表示となっていました。
ですがAGP8からはgradleへの記述が必須になりましたので、詳細などを備忘録的にまとめたいと思います。

gradleへ記述が必須となった背景

以前のAGPバージョンでは、アプリケーションIDとパッケージ名を区別していましたが、Manifestでパッケージ名が定義され、Gradle内でアプリケーションIDが設定される形となることで混乱を招くと判断し、Gradleへの記述が必須となったようです。

また、AGP 8.0以降では、プロジェクトごとに一意のnamespaceを指定することが必須になったことにより、コードとリソースが一貫性のある名前空間内で管理されるようになります。
それによりビルドパフォーマンスの向上するとのこと。

設定方法

これは非常に簡単で、app以下のgradleへnamespace設定を記述するのみです。

app/build.gradle
android {
    namespace 'com.example.myapp'
    ...
}

また、モジュール単位でnamespaceを設定する必要がある点は注意が必要です。
ちなみにAGP8以上でnamespaceをmanifestへ記述していると、以下エラーが表示されます。

Namespace not specified. Please add 'namespace' to your module's build.gradle file.

さいごに

RaspberryPi5で遊んでいますが、本当にパフォーマンス上がりましたねー
昔はだいぶしんどかったのに、もうミニPCとしても普通に使えるレベル、、、

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0