我已經創建了一個地圖應用程序。它顯示地圖時未簽署APK,但在嘗試簽名並稍後在設備中安裝APK時,地圖不再顯示。如何獲取已簽名Android應用程序的地圖?
回答
您需要一個單獨的Google Maps API密鑰才能發佈。你說你的APK在工作時沒有簽名,但是應用程序實際上是由你的SDK自動使用調試密鑰進行簽名的。這可能也是您擁有有效的Google Maps API密鑰的人。
從文檔在https://code.google.com/android/add-ons/google-apis/mapkey.html:
當你正在開發和調試 您的應用程序,你很可能會 在調試 模式sigining您的應用程序 - 也就是SDK構建工具 會自動登錄您的 應用程序使用調試 證書。爲了讓您的MapView 元素在此期間正確顯示地圖數據 ,您應該獲得 臨時地圖API密鑰,並註冊到 調試證書。爲此,您首先需要獲得調試證書的MD5指紋 。當您準備發佈您的應用程序時,您的 必須註冊您的發佈證書 與Google地圖服務和 獲取新的Maps API密鑰。您必須 然後更改您的應用程序中 的MapView元素以引用新的 API密鑰。
你在兩個地方使用了相同的API密鑰嗎?因爲每個服務器上的api密鑰都必須是唯一的。
是的,當我創建apk文件時,我使用了相同的API密鑰 – dilipkaklotar 2011-03-07 08:56:21
請爲其他服務器創建一個新的API密鑰。你不能在每個上使用相同的API密鑰。 – Luci 2011-04-01 08:03:35
您應該生成使用releasekey文件,該文件將在簽字可以生成另一個apiKey。 您將使用以下密碼獲得新的MD5密鑰
keytool -list -keystore c:\ Users \ Sudheesh \ releasekey 其中relesekey是包含簽名釋放密鑰的文件。 通過使用此MD5密鑰,您可以從http://www.mobisoftinfotech.com/blog/android/android-mapview-generate-api-key-using-java-keytool/ 生成api密鑰在您的應用中使用此apikey。
其更好地以這種方式
Select the project in workspace-->rightclick---> click export--->export android apps-->next-->next--->enter keystore file name--->next--->enter key alis--->finish
做(請參閱本here)
像什麼RogerKK說,你怎麼做你的測試/部署? 如果您最初針對連接的Android設備調試應用程序,那很可能使用調試證書SHA-1生成的密鑰。如果您嘗試執行發佈版本,則需要完全不同的密鑰。
這是我跑過的東西,但使用調試證書進行簽名。
http://www.digitalopium.com/android-google-maps-api-tutorial/
對於誰是面臨着nirav帕特爾也有同樣問題的所有朋友。
您可以使用下面的代碼來找到符號和無符號哈希鍵
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try
{
PackageInfo info = getPackageManager().getPackageInfo("Your package name here",PackageManager.GET_SIGNATURE);
for (Signature signature : info.signatures)
{
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
}
catch (NameNotFoundException e)
{
System.out.println("name not found...."+e);
} catch (NoSuchAlgorithmException e)
{
System.out.println("NoSuchAlgorithmException...."+e);
}
}
}
- 1. 已簽名的應用程序文件 - 如何從文件中獲取簽名?
- 2. 簽署地圖應用程序android
- 3. 如何從Android的包名獲取應用程序名稱?
- 4. 如何獲取Android中已安裝應用程序的列表?
- 5. Android - 獲取安裝的應用程序簽名列表
- 6. 如何從android中的進程獲取應用程序名稱?
- 7. 如何在android studio上導出已簽名的android應用程序
- 8. Android - 使用已簽名的APK時應用程序崩潰
- 9. 如何獲得已安裝應用程序的應用程序標籤
- 10. 如何在Android中獲取應用程序的包名?
- 11. 如何獲取Android應用程序ID?
- 12. 如何獲得已安裝應用程序的進程名稱
- 13. 使用地圖API獲取距離android應用程序
- 14. 如何獲取Android的Google地圖應用程序的源代碼?
- 15. 的Android應用程序簽名
- 16. iOS從應用程序名稱獲取應用程序圖標
- 17. 如何獲取twitter認證名稱到android應用程序?
- 18. 如何將我的應用程序簽名爲「系統應用程序」android
- 19. Android應用程序APK簽名?
- 20. 獲取已安裝的Android應用程序的列表
- 21. 如何獲取在Android中使用gps的已安裝應用程序列表?
- 22. 如何從進程名稱獲取應用程序名稱?
- 23. 如何從Android設備中獲取圖像java應用程序
- 24. 如何在android應用程序中從xmpp獲取圖像
- 25. MapView停止顯示地圖(簽名的應用程序)
- 26. 如何獲取已安裝應用程序的設備的deviceid?
- 27. 獲取已安裝應用程序的列表android
- 28. 如何獲取域名的URL和應用程序名稱?
- 29. 如何獲取(提取)iOS系統應用程序的圖標,如地址簿應用程序?
- 30. 如何在列表中獲取已安裝的應用程序名稱
僱用一個聲樂教練?但嚴重的是你遵循了什麼步驟?,你的問題是[模糊](http://code.google.com/android/maps-api-signup.html) – Reno 2011-03-07 07:55:13
很確定你是[同一個人](http:///stackoverflow.com/questions/5217139/how-to-get-map-on-signed-android-application)誰想唱歌。垃圾郵件相同的問題不會幫助。 – Reno 2011-03-07 08:35:27
如果你可以和你的同事交談,這樣你就不會同時提出同樣的問題,那將不勝感激...... – 2011-03-07 09:11:21