プラグします。https://pub.flutter-io.cn/packages/amap_base
参照署名キーストアます。https://blog.csdn.net/weixin_44567104/article/details/90377912
します。https://blog.csdn.net/m00123456789/article/details/71404282 tdsourcetag = s_pctim_aiomsgユーザーキーを解決するためのリファレンスは、MD5間違った質問正しくないか、有効期限が切れているのですか?
amap_baseは比較的高い得点と考えますが、著者は多くの問題を更新忙しくされていません
1は、ルートディレクトリにキーストアファイルを生成します。参考https://blog.csdn.net/weixin_44567104/article/details/90377912
2は、configureを追加keystore.propertiesを生成するファイル
= storePassword XXX がkeyPassword = XXX keyAlias = XXX #ここでbuild.gradleアプリの下にロードされ、android.keystore親ディレクトリがルートディレクトリである StoreFile = .. / android.keystore
図3に示すように、アプリケーションは、構成build.gradle下で添加しました
// ロードに使用するキーストアの設定署名、マップ、支払いやその他のサービス DEF keystorePropertiesFile = rootProject.file(" keystore.properties " ) DEF keystoreProperties = 新しい新しいプロパティ() keystoreProperties.load(新新のFileInputStream(keystorePropertiesFile)) のAndroid { .. 。 @ 署名プロファイル signingConfigs { デバッグ{ keyAlias keystoreProperties [ ' keyAlias ' ] がkeyPassword keystoreProperties [ ' がkeyPassword ' ] StoreFileファイル(keystoreProperties [ 'storeFile ' ]) storePassword keystoreProperties [ ' storePassword ' ] } 放出{ keyAlias keystoreProperties [ ' keyAlias ' ] がkeyPassword keystoreProperties [ ' がkeyPassword ' ] storeFileファイル(keystoreProperties [ ' storeFile ' ]) storePassword keystoreProperties [ ' storePassword ' ] } } buildTypes { } プロファイル{ デバッグinitWith デバッグ{ signingConfig signingConfigs.debug } リリース{ // TODO:リリースビルド用に独自の署名の設定を追加します。 // 今のデバッグキーなので、働く--release` `フラッターランで署名。 signingConfig signingConfigs.release } } }
4、AndroidManifest.xmlをを変更
<?XMLバージョン= "1.0"エンコード= "UTF-8" ?> <! - 包名必须和build.gradle里的APPLICATIONID一致- > < マニフェストのxmlns:アンドロイド= "http://schemas.android.com/ APK / RES /アンドロイド」 パッケージ= "XXX" > <! - INTERNET権限は、開発のために必要です。具体的には、 フラッターは、実行中のアプリケーションと通信するためにそれを必要とする など、熱いリロードを提供するために、ブレークポイントを設定できるようにする - > < 使用許可アンドロイド:名=「android.permission.INTERNETあなた」/> < 使用許可アンドロイド:名= "android.permission.WRITE_EXTERNAL_STORAGE" /> < 使用許可アンドロイド:名= "android.permission.READ_EXTERNAL_STORAGE" /> < 使用許可アンドロイド:名= "android.permission.CAMERA" /> <! - IO。 flutter.app.FlutterApplicationはandroid.app.Applicationある FlutterMain.startInitialization(本)を呼び出します。そののonCreateメソッドインチ ほとんどの場合、あなたは、あなたが提供したい場合はそのままでこれを残すことができますが、 追加機能を、サブクラス化または再実装することで結構です FlutterApplicationを、ここでカスタムクラスを置きます。- > <アンドロイド:名= "io.flutter.app.FlutterApplication" アンドロイド:ラベル= "flutter_module" アンドロイド:アイコン= "@ミップマップ/ ic_launcher" > <! - Androidの設定AMAPキーは、初期化中に入ってくるAMap.initをIOS (「ioskey」)- > < メタデータ アンドロイド:名=「com.amap.api.v2.apikey」 アンドロイド:値=「キー」 /> <! - パッケージ名の変更デフォルトの後にここにいます.MainActivityない- > < 活動 アンドロイド:名= "com.example.flutter_module.host.MainActivity" アンドロイド:launchMode = "singleTop" アンドロイド:テーマ= "@スタイル/ LaunchTheme" アンドロイド:configChanges = "オリエンテーション| keyboardHidden |キーボード|画面サイズは|ロケール| layoutDirection | fontScale | screenLayout |密度| uiMode" アンドロイド:hardwareAcceleratedは= "true"の アンドロイド:windowSoftInputMode = "adjustResize" > <! - これは、のウィンドウの背景を保持します示す活性 フラッタまでは、その最初のフレームをレンダリングします。場合、それを除去することができる (例えば、デフォルトのスプラッシュ画面など一切スプラッシュ画面が無い @スタイル/ LaunchThemeで定義されているが)。- > < メタデータの アンドロイド:名= "io.flutter.app.android.SplashScreenUntilFirstFrame" アンドロイド:値= "true"を /> < 意図-フィルタ> < アクションアンドロイド:名= "android.intent.action.MAIN" /> < カテゴリアンドロイド:名= "android.intent.category.LAUNCHER" /> </ インテント・フィルタ> </ 活性> </ アプリケーション> </ マニフェスト>
5、いくつかの問題は、基本的な経験、SHA1であり、対応するパッケージ名である必要があります署名されていない、アンドロイドプロジェクトの構成が一致している必要があります