5

私はアンドロイド用のグーグルマップを実装しています。テストアプリケーションを作成し、そのアプリケーションにすべてのアクセス許可などを挿入しましたが、アプリケーションは問題なく動作しました。

しかし、同じコードを実際のアプリケーションにコピーしようとすると、Androidアクティビティで空白の画面が表示されます。でパッケージ名を更新しましたがgoogle api console

テストプロジェクトマニフェストは次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.mapstutorial"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />

<permission
    android:name="com.example.mapstutorial.permission.MAPS_RECEIVE"
    android:protectionLevel="signature"/>
<uses-permission android:name="com.example.mapstutorial.permission.MAPS_RECEIVE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true"/>

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
<uses-library android:name="com.google.android.maps" />
    <meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="my api key"/>

    <activity
        android:name="com.example.mapstutorial.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>

これが私の実際のプロジェクトマニフェストがどのように見えるかです:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.shop.shoppinglist"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" />

<permission      android:name="com.shop.addtask.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>
<permission      android:name="com.shop.shoppinglist.permission.C2D_MESSAGE"    android:protectionLevel="signature" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="com.shop.addtask.permission.MAPS_RECEIVE"/>
<uses-permission android:name="com.shop.shoppinglist.permission.C2D_MESSAGE" />

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true"/>

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:allowBackup="true"
    android:theme="@style/AppTheme" >

    <uses-library android:name="com.google.android.maps"/>
    <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="my api key"/>

    <activity
        android:name=".Login_Activity"
        android:label="@string/title_activity_main" 
        android:theme="@style/Theme.Sherlock" 
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

コンソールのフィンガープリントでパッケージ名を更新しましたcom.shop.addtaskが、それでも白い画面が表示されます。何が問題を引き起こす可能性がありますか?apikey私が使用したのは両方のアプリケーションで同じです。しかし、それはでは機能しtest applicationませんreal app

  • 指紋を使用してAPIキーを作成しました
  • onコンソールでグーグルマップアンドロイドv2を切り替えました
  • コンソールに表示されているものと同じAPIキーを使用しています。

したがって、これらのことは正しく、問題はそれらの1つによって引き起こされることはありません。

4

8 に答える 8

6

2つの考えられる理由:

1.この部分:

 <uses-library android:name="com.google.android.maps"/>
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="my api key"/>

application終了タグの直前にある必要があります。

2.キーに何らかの問題がある可能性があります。フォルダを削除しdebug.keystoreてプロジェクトを実行することにより、新しいものを生成してみてください。その後、コンソールから再度登録してください。

あなたは私が書いたこのガイドを使ってそれをすることができます:

Google MapAPIV2キー

アップデート:

ちょっとこれをチェックしてください:

<permission      android:name="com.shop.addtask.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>

ここで設定したパッケージはアプリケーションのパッケージではなく、次のようになります。

  <uses-permission android:name="com.shop.shoppinglist.permission.MAPS_RECEIVE"/>
  <permission      android:name="com.shop.shoppinglist.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>
于 2013-03-27T12:25:19.257 に答える
1
<permission      android:name="com.shop.addtask.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>
<uses-permission android:name="com.shop.addtask.permission.MAPS_RECEIVE"/>

パッケージ名は

package="com.shop.shoppinglist"

以下のリンクがお役に立てば幸いです。GoogleMapsAndroidAPIv2のAndroidManifest.xml

これを試して、

<permission      android:name="com.shop.shoppinglist.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>
<uses-permission android:name="com.shop.shoppinglist.permission.MAPS_RECEIVE"/>
于 2013-03-27T13:12:11.250 に答える
1

すべてが失敗したら、アプリをアンインストールして再試行してください。私の場合はうまくいきました。

于 2013-08-06T20:12:47.240 に答える
1

私の問題は、AndroidManifestファイルでアプリのパッケージ名を変更したが、gradle.buildの「applicationId」プロパティは変更していないことでした。おそらくそれは誰かを助けます...

于 2016-07-19T08:51:54.293 に答える
0

私も同じ問題を抱えていました。私はこのエラーのさまざまな解決策で提案されたすべてを試しました。包括的に、APIキーを再作成しました(新しいプロジェクトの作成を含む)が、何も機能しませんでした。何時間も無駄にした後、Androidデバイス上のすべてのmyappユーザーデータを削除することにしました。魔法のようにこれで問題が解決しました。私の地図は正しく表示されます!わーい!!!

Android 4.2.2:設定/アプリ/YourApp/データの消去。

この単純な解決策が、他のすべてが失敗したときに役立つことを願っています。

于 2013-12-09T20:27:26.580 に答える
0

わかりました、私は同じ問題を抱えています、私はブログとグーグルの公式ページのすべてのステップに従い、機能していません
<uses-library android:name="com.google.android.maps"/>
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="my api key"/>
、アプリケーションタグを閉じる前に解決策は正しいですが、他の場合、私は解決策を見つけました、問題は私が生成することですmacinthoshのSHA1コードですが、リポジトリのクローンを作成してWindowsプラットフォームで動作しますが、この問題を見つけました。私の解決策は、Googleコンソールに移動して他のapikeyを生成しますが、Windowsでこのコマンドを使用してSHA1コードを取得し、コンソールを開いてこれを入力します次のステップのコード このコードをコピーして貼り付けます
cd C:\Program Files\Java\jre1.8.0_20\bin and press enter

keytool -list -v -keystore %HOMEPATH%\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android

コンソール内でEnterキーを押した後、SHA1コードのコピーと貼り付けをGoogleコンソールに表示します。これは、SHA1コードを指定する非常に重要です";" と正しいパッケージ..

よろしく!!!

于 2014-08-28T23:25:22.813 に答える
0

マップにも同様の問題があります。すべてのライブラリとキーの問題を修正した後、私はちょうど「グーグル」でラベル付けされた白い画面を見ました。問題は、私がに入れたことでしMapFragmentScrollView。すべてを削除した後、正常にScrollView動作します。地図が見えます。

于 2015-04-30T15:37:30.083 に答える
0

Google MapsAndroidAPIを有効にしたかどうかを確認します

  • Googleマップデベロッパーコンソールを開きます。
  • [ライブラリ]->[GoogleMapsAndroidAPI]に移動します
  • 無効になっている場合は有効にします。 ここに画像の説明を入力してください
于 2017-09-21T06:03:31.470 に答える