このページには広告が含まれる場合があります。
Flutterで作ったプロジェクトをAndroidアプリとしてビルドすると、
Namespace not specified. Specify a namespace in the module’s build file.
というエラーが出て失敗する場合があります。
ここで「Specify a namespace in the module’s file」と書いてあるので、アプリレベル(モジュールレベル)のbuild.gradleファイル(android/app/build.gradle)を見ると、「android」欄に「namespace」がちゃんと入っているのに、上記のエラーが発生する場合があります。
この場合は、以下の要領で、プロジェクトレベルのbuild.gradleファイル(android/build.gradle)に
subprojects { afterEvaluate { project -> if (project.hasProperty('android')) { project.android { if (namespace == null) { namespace project.group } } } } }
を追加すると、解消します。
この事象は、Androidアプリをビルドするためのツールである「Gradle」のバージョンを7.xから8.xに上げたために起こるようなのですが、その発生理由は、
- Gradle7.x時代は「namespace」ではなく、「AndroidManifest.xml」ファイルに記載されていたが
- Gradle8.xになって「namespace」の記載場所をアプリレベル(モジュールレベル)のbuild.gradleファイルに移管しても
- いくつかのFlutterのプラグインがそれを認識してくれない
ための発生する可能性があるようです。

Namespace not specified. Please specify a namespace in the module's build.gradle file like so: android { namespace 'com.example.namespace' } If the package attribute is specified in the source
(詳しくは、以下の動画で説明していますので、よろしければご覧ください)