Napa Log

Blog

flutterのandoirdアプリを内部テストしようとしたら、起動できなくて泣いちゃった。。。

サムネイル

事の背景

昔、公務員として土木業界で働いていたのですが、当時の現場作業を簡略化できるアプリを作りたい、、、
そう思い経験0のFlutterに手を出してみた。
いざ、リリースに向けて内部テストでabbファイルをアップロードするも、スマホにインストール後「開く」ボタンが出てこず起動できない。。。
私が愛してやまないflutter cleanコマンドと とビルドを繰り返すも全く解決せず、ということで本当に泣きかけていた。

結論

AndroidManifext.xmlファイルの は、初期から追加する際は別タグを用意する必要がある。
助けてくださったサイトはこちらです、、、本当にありがとうございました!!!!
https://note.com/chute/n/n75cde5f1712a

症状の詳細

こちらではgoogle play consoleの詳細は省く。
内部テストでリリースしたアプリのURLをスマホで開き、アプリをインストール。

インストール後、「アプリを開く」ボタンがどこにもない、、、、
ここで雲行きが怪しくなり、cleanコマンドを繰り返すだけのマシンとなってしまった。

対応策

intent-filterタグにて、プロジェクト開始から入っている

                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />

だけを一つのタグで囲み、後で追加するものについては、別タグを作成して囲んでやる必要があるようだ。下記のような対応。

           <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
                <action android:name="android.intent.action.SENDTO" />
                <data android:scheme="mailto" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+            <intent-filter>
                <action android:name="android.intent.action.SENDTO" />
                <data android:scheme="mailto" />
            </intent-filter>

「これだけで動かないだろ~」と思っていたら、本当に解消してしまった。。。
タグの概念が覆った瞬間だった。。。
そしてこれを見つけてくださった方本当に感謝でいっぱいです。

きちんと「開く」ボタンが表示されてアプリの起動ができました。

思ったこと

正直、これはわからなかった。
きちんとした公式ドキュメントには記載されているのだろうか?自分が公式ドキュメントを一切読めないエンジニアなので、これからは公式ドキュメントをきちんと読むこととしたい。
今回は、先駆者の方のサイトに助けられてよかったが、あのサイトがなければまだこの記事すらかけず、
アプリのリリースをあきらめていただろう。