質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

2回答

3703閲覧

Flutter Android APK debug時とrelease時で処理が異なる

takumi123

総合スコア59

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2020/09/18 01:37

編集2020/09/18 01:45

##解決したいこと

Flutterで開発をしています。
APKを作成して、androidにインストールしましたが、flutter build apk --debugとflutter build apk --releaseで処理が異なります。

具体的には以下の違いがあります。

デバッグモードのAPK
・画像表示OK
・google placeAPI OK
・画像追加OK
・現在地取得OK

リリース時のAPK
・画像表示されない
・google placeAPI 機能しない
・画像追加されない
・現在地取得できない

試したこと

・flutter-clean

・以下公式リリースドキュメントを確認、設定間違いがないかチェック
https://flutter.dev/docs/deployment/android

・AndroidMaifest.xmlに<uses-permission android:name="android.permission.INTERNET" />を追加
参考:https://stackoverflow.com/questions/54955789/flutter-image-network-not-working-on-release-apk

・GoogleAPI Androidで利用しているAPIキーにSHA-1を追加、
参考:https://stackoverflow.com/questions/54761343/flutter-google-map-on-release-mode-not-work

SHA-1取得方法(release用を取得しました)
https://gurutaka-log.com/flutter-release-build

GoogleAPIの設定は以下画像です。
イメージ説明

イメージ説明

以下のようにAPIキーは環境で分ける関数を用意して、APIを利用する箇所で適用しています。

dart

1void SetApiKey() { 2 bool ReleaseMode = bool.fromEnvironment('dart.vm.product'); 3 if (ReleaseMode) { 4 if (Platform.isAndroid) { 5 this.APIKEY = "リリース用Android"; 6 } else { 7 this.APIKEY = "リリース用IOS"; 8 } 9 } else { 10 this.APIKEY = "デバッグ用、制限なし"; 11 } 12 }

main/AndroidManifest.xmlの内容

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.mapsns.minorityproduct"> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.RECORD_AUDIO" />  ・  ・ </manifest>

##flutter doctor -v

[✓] Flutter (Channel stable, 1.20.4, on Mac OS X 10.15.6 19G2021, locale ja) • Flutter version 1.20.4 at /Users/takumiendoh/Documents/Development/flutter • Framework revision fba99f6cf9 (3 days ago), 2020-09-14 15:32:52 -0700 • Engine revision d1bc06f032 • Dart version 2.9.2 [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2) • Android SDK at /Users/takumiendoh/Library/Android/sdk • Platform android-30, build-tools 30.0.2 • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS (Xcode 12.0) • Xcode at /Applications/Xcode.app/Contents/Developer • Xcode 12.0, Build version 12A7209 • CocoaPods version 1.10.0.beta.2 [✓] Android Studio (version 4.0) • Android Studio at /Applications/Android Studio.app/Contents • Flutter plugin version 49.0.2 • Dart plugin version 193.7547 • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593) [✓] Connected device (2 available) • ANE LX2J (mobile) • SCV7N18A26000501 • android-arm64 • Android 9 (API 28) • AOSP on IA Emulator (mobile) • emulator-5554 • android-x86 • Android 9 (API 28) (emulator) • No issues found!

##最後に
どのようにすれば解決するでしょうか?
かなりハマっています。

お手数ですが、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tepci

2020/09/18 04:53

どちらも実機でテストしていますか?
takumi123

2020/09/18 06:42

はい、どちらも実機でテストしています。 実機は以下です。 ANE LX2J (mobile) • SCV7N18A26000501 • android-arm64 • Android 9 (API 28)
ryota_yone

2021/04/14 09:39

同じような状況でハマっています.どのように解決したか教えていただけないでしょうか?
guest

回答2

0

GoogleAPIの設定は以下画像です。

パッケージ名の末尾にカンマがあるように見えますが、合っていますか?

投稿2020/09/23 13:40

satokei

総合スコア1217

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

解決につながるかわかりませんが・・・

flutter build apk --release --target-platform=android-arm64

これでビルドしてみてください。

投稿2020/09/18 07:34

tepci

総合スコア419

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takumi123

2020/09/18 07:46

回答ありがとうございます!やってみます!!
takumi123

2020/09/18 07:52

flutter build apk --releaseと挙動は同じでした。
tepci

2020/09/18 07:56

やはり変わりませんか・・・ ちなみに画像が表示されないというのは、ローカルの画像ですか?
takumi123

2020/09/18 10:12

インターネットから取得した画像です。ローカル画像はリリース版でも表示されます。
satokei

2020/09/24 04:47

takumi123 さん 結局、こちらのやり方でできたということでしょうか? 解決方法が読み取れませんでした。
takumi123

2020/09/24 06:10

satokei様 コメントありがとうございます。こちら原因不明ですが解決しました。 お手数をおかけし、申し訳ありません。
satokei

2020/09/24 08:30

takumi123 さん なるほど、既に解決済みだったのですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問