##解決したいこと
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
以下のように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!
##最後に
どのようにすれば解決するでしょうか?
かなりハマっています。
お手数ですが、よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー