Googleマップは私のMapActivityに表示されません
-
27-09-2019 - |
質問
Eclipse IDEを使用してリリースキーストアを作成しました。 KeyToolを使用して署名し、Googleマップに登録しました。キーを接続しましたが、マップは表示されません。
Maps show up properly when I use the key associated with my debug keystore.
どうすればこれを診断できますか?リリースのために、デバッグで行ったのと同じ手順に従いました。
アップデート:
これが私のマニフェストファイルです:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.cancertrials" android:versionCode="1"
android:versionName="1.0">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
<activity android:label="@string/app_name" android:name="splash">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".HomeActivity" android:label="@string/app_name" android:windowSoftInputMode="stateHidden">
</activity>
<activity android:name=".moreactivity" android:label="@string/app_name">
</activity>
<activity android:name=".aboutmedtrust" android:label="@string/app_name">
</activity>
<activity android:name=".aboutclinical" android:label="@string/app_name">
</activity>
<activity android:name=".aboutglaxosmith" android:label="@string/app_name">
</activity>
<activity android:name=".termsofuse" android:label="@string/app_name">
</activity>
<activity android:name=".privacy" android:label="@string/app_name">
</activity>
<activity android:name=".feedback" android:label="@string/app_name">
</activity>
<activity android:name=".informationcancer" android:label="@string/app_name">
</activity>
<activity android:name="AdvanceSearchActivity" android:label="@string/app_name">
</activity>
<activity android:name="SearchingActivity"></activity>
<activity android:name="AdvanceSearchTab1"></activity>
<activity android:name="AdvanceSearchTab2"></activity>
<activity android:name="DetailedActivity"></activity>
<activity android:name="summary"></activity>
<activity android:name="conditions"></activity>
<activity android:name="description"></activity>
<activity android:name="inclusion"></activity>
<activity android:name="exclusion"></activity>
<activity android:name="BookmarkActivity"></activity>
<activity android:name="RecentActivity"></activity>
<activity android:name="information"></activity>
<uses-library android:name="com.google.android.maps"></uses-library>
<activity android:name="Mapsactivity">
</activity>
<activity android:name="mapView"></activity>
</application>
<uses-sdk android:minSdkVersion="3" />
</manifest>
解決
指紋が変更されると、リリースキーストアで署名するときは、別のAPIキーを取得する必要があります。
正しいキーで署名された.apkもインストールしてください。
アップデート: 私が意味したのは、あなたがあなたのAPKに正しいキーに署名することを確信していることですか?つまり、APKを生成するときにリリースキーストアで署名していることを意味しますか?
あなたがそれをエクスポートしているとき、あなたは実際にそれに署名するキーストアを実際に選択していますか?
他のヒント
インターネットの許可を追加しましたか?この質問は、文字通り毎日尋ねられます。
だから私は昨日自分でこの問題に遭遇し、.apkに手動で署名することで解決しました
私はあなたがあなたの秘密のキーストアを使用していると仮定し、あなたはあなたのMapView(および必要に応じて他のリソース)のリリースマップキーを入力したと思います。
行うために、EclipseのProject Explorer(右クリック)からProjektを選択します - > Androidツール - > unsignedパッケージをエクスポートします。好きな場所に保存してください。
ターミナル(Windows 7マシンに乗っています)、JDKフォルダー(JREではなく)にCDを開き、CDをBin にさらに開きます。
次のコマンドを使用してください:(「パスを入力する場合は必要です)
jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore "path-to-your-keystore" "path-to-your-apk" <apk alias> -certs
署名プロセスを確認するには
jarsigner -verify "path-to-recently-signed-apk" -verbose
(必要に応じて、Verboseオプションを除外できます)。それは(うまくいけば)JAR検証を表示します(最終的には、私の場合は問題ではなかった、検証済みの証明書チェーンなしでエントリについて警告します)
その後、zipalignを実行します:
zipalign -v 4 "path-to-signed-apk" "path-to-signed-and-aligned.apk"
Googleの標準に合わせた新しいAPKを作成することに注意してください。
そのAPKをインストールすると、マップが正常に表示されるはずです!
から:http://developer.android.com/tools/publishing/app-singe.html#exportwizard