簡體   English   中英

在Android模擬器上運行Google Maps v2

[英]Running Google Maps v2 on the Android emulator

我嘗試在Android應用程序中實現Google Maps v2,但不幸的是,我收到了以下消息,而不是地圖:

如果沒有手機中缺少的Google Play服務,此應用將無法運行。

是否可以在Android模擬器(平台4.2)上運行這些地圖?

目前,如果您引用Google Android Map API v2,則無法在Android模擬器上運行Google Maps v2。 您必須使用設備進行測試。

對於那些已更新到最新版本的google-play-services_lib和/或有此錯誤的Google Play services out of date. Requires 3136100 but found 2012110 Google Play services out of date. Requires 3136100 but found 2012110使用com.google.android.gms.apk(Google Play服務3.1.36)com.android.vending.apk(Google Play Store 4.1.6)的較新版本。

在Android SDK工具22.0.1上使用此配置進行測試。 針對純Android而不是Google的另一種配置也應該起作用。

  • 設備: Galaxy Nexus
  • 目標: Android 4.2.2-API級別17
  • CPU / ABI: ARM(armeabi-v7a)
  • 已檢查:使用主機GPU

...

  1. 打開AVD
  2. 在終端/ cmd中執行此操作

     adb -e install com.google.android.gms.apk adb -e install com.android.vending.apk 
  3. 重新啟動AVD

  4. 玩得開心!

我發現這種方法是最簡單,最干凈的,並且可以與該軟件的最新版本一起使用,從而可以獲取所有錯誤修復程序。

請嘗試以下方法。 對我來說成功了

腳步:

  1. 使用以下配置創建一個新的模擬器: AVD配置

  2. 啟動模擬器並安裝以下APK文件: GoogleLoginService.apkGoogleServicesFramework.apkPhonesky.apk 您可以使用以下命令執行此操作:

     adb shell mount -o remount,yourAvdName -t yaffs2 /dev/block/mtdblock0 /system adb shell chmod 777 /system/app adb push GoogleLoginService.apk /system/app/ adb push GoogleServicesFramework.apk /system/app/ adb push Phonesky.apk /system/app/ 

    APK的鏈接:

    1. GoogleLoginService.apk
    2. GoogleServicesFramework.apk
    3. Phonesky.apk AKA Google Play商店,v.3.5.16
    4. 谷歌地圖 v.6.14.1
    5. Google Play服務 v.2.0.10
  3. 在模擬器中安裝Google Play服務和Google Maps

     adb install com.google.android.apps.maps-1.apk adb install com.google.android.gms-2.apk 
  4. 從此鏈接下載Google Play服務修訂版4,並將其下載至文件夾sdkmanager->extra->google play service
  5. androidsdk\\extras\\google\\google_play_services導入google-play-services_lib
  6. 創建一個新項目,並將上述項目作為庫項目引用。
  7. 運行項目。

使用本指南,我已成功在模擬器上安裝了Google Maps v2。
您應該執行以下步驟:

我建議通過Genymotion而不是Google的模擬器使用模擬器。 它的啟動速度更快,幾乎可以實時響應。 它還支持Google Play服務,因此也支持Google Maps。

Google Maps on Genymotion

試試看! 這是一篇博客文章,可幫助您設置仿真器。

我可以使用模擬器在Google Map V.2(與Google Play Service V.4)上運行我的應用。 我遵循了其他人建議的步驟,但有些失敗,但是我從中汲取了教訓,並以某種方式使它起作用。 這是這樣的:

  1. 首先:您必須已經為地圖應用程序編碼。 正確設置圖元文件XML中的所有適當權限,並將Google Play Services APK納入您的應用程序。 為了驗證這是真的,您必須在REAL設備上運行您的應用程序,並知道它可以在其地圖上運行。 然后,您可以繼續處理模擬器,如下所示。

  2. 創建一個新的模擬器,或將現有的模擬器用於規格:

    • 目標名稱= Android 4.1.2
    • API等級= 16
    • CPU =任何。 但是,我發現ARM比x86更快/響應更快
    • 有足夠的RAM內存和空間MB
  3. 運行您的模擬器(您的目標模擬器必須正在運行!)

  4. 將以下APK(2013年4月2日通過保管箱下載)下載到本地目錄(掃描病毒!):

  5. 使用ADB命令將這兩個APK安裝到正在運行的(目標)模擬器中:

    DOS /控制台提示符> adb -e install [APK路徑文件]

    注意:可能是,在此試用錯誤期間,您已在模擬器中安裝了這些APK,並且出於某種原因需要重新安裝。 您必須先通過以下方式將其卸載:adb -e卸載(com.google.android.gms或com.android.vending)

  6. 在這里,事情可能會變得棘手。 您以為您已經完成了,但是當您再次使用Map打開應用程序時,您得到的只是一個錯誤,內容是:“ Google Play服務已過期。需要2012100但找到了2010110”,並且可能會看到一個按鈕以“更新” Google Play。 在這種情況下,請勿嘗試單擊更新按鈕,因為它不會執行任何操作。 我也遇到了此錯誤,並通過以下兩個附加步驟解決了該錯誤:

    • 清理-重建-重新安裝我的應用程序到模擬器中
    • 關閉我的模擬器,然后重新啟動它。
  7. 就是這樣,它現在可以很好地工作了。

Google已更新了虛擬設備定位API23。它現在隨Google Play服務9.0.80一起提供。 因此,如果您使用的是Google Maps API V 2.0(我使用的是play-services-maps:9.0.0和play-services-location.9.0.0),則無需任何解決方法。 就是這樣!

您需要嘗試使用Google API版本的模擬器。 每個平台都有兩個版本,Android和Android + Google API。 確保在創建AVD時,在目標字段上選擇Google API版本。

並且確保設備具有Google Play服務APK頁面也可能會有所幫助。

我已經在AndroVM虛擬機上成功運行了需要Google Maps API 2的應用程序。

AndroVM並未安裝Google Maps或Google Play,但提供了Cyanogen Gapps存檔的修改副本,Cyanogen Gapps存檔是大多數Android設備上安裝的一組專有Google應用程序。

從AndroVM常見問題解答中復制的說明:

如何安裝Google Apps(包括Market / Play應用)?

  • 下載Google Apps: gapps-jb-20121011-androvm.tgz [基本上是Cyanogen gapps存檔中的/ system目錄,而沒有在AndroVM上崩潰的GoogleTTS應用程序]
  • 在主機上解壓縮gapps…tgz文件–您將創建一個系統目錄
  • 獲取您的AndroVM的管理IP地址(“ AndroVM配置”工具),然后執行“ adb connect xyzt”
  • 做“ adb root”
  • 與“ adn connect xyzt”重新連接
  • 做“ adb重新安裝”
  • 做“ adb push system / / system /”

您的虛擬機將重新啟動,您應該擁有包括Market / Play在內的Google應用。

您不會有某些Google Apps,例如地圖,但是可以從Market / Play中下載。

因此,請按照這些說明進行操作,然后使用Google Play安裝Google Maps!

使用虛擬機而不是仿真器的一些重大副作用:

  • 出色的綜合性能
  • OpenGL加速
  • Google Play支持

到目前為止,唯一的障礙是缺少多點觸控手勢,這對於地圖繪制應用程序來說實在是太糟糕了! 我計划使用隱藏的UI機制解決此問題,因此不會有太大的問題。

我嘗試了上述步驟(通過paniniluncher),但收到以下消息:

Google Play services out of date. Requires 3025100 but found 2012110

我收到此消息是因為我需要上述文件的不同版本。 要解決此問題,我首先卸載了上面引用的文件,下載了我需要的版本(如以下StackOverflow發布中所引用:

Google Play服務已過時。 需要3025100但找到2012110

然后使用`adb -e install [path-to-APK-file]安裝這些文件,然后重新啟動模擬器,它運行完美!

我已經在模擬器中使用Google登錄按鈕回答了Stack Overflow問題Trouble的問題中回答了這個問題。 它僅適用於Android 4.2.2,但可讓您在AVD中使用“ Intel Atom(x86)”。

我認為很容易使其適用於其他版本的Android。 只要找到正確的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM