1. 程式人生 > >Android模擬器中Android 4.1 API Level 16的映象安裝Google Play Services服務

Android模擬器中Android 4.1 API Level 16的映象安裝Google Play Services服務

最近做一些國外的Android小APP開發,遇到了適配Android版本的問題。但是開發出來的APP一般都習慣上選擇最小相容版本16,也就是Android4.1。但是用到google地圖等api的時候,在android 5.0(API 21)之後總是沒有問題,但是19以及以下就不行。 經過各種試錯之後終於解決了。

-1 基礎條件

你需要有VPN,如果沒有VPN,那就安裝google空間之類的APP,也應該可以解決。

0 選擇Device

新建虛擬裝置的時候,有一些裝置上是帶有“Play Store”標識的。 在這裡插入圖片描述

使用這些裝置的時候,如果你選了帶有Play的系統映象,例如下面 在這裡插入圖片描述 那麼可以通過模擬器的工具欄更多圖示

在這裡插入圖片描述

開啟模擬器的控制面板,這個時候會有 在這裡插入圖片描述 通過這裡可以升級Google Play.

但是帶有Google Play的映象最低版本也是API 24,也就是Android 7.0,所以這對我們要測試相容Android 4.1的人來說沒有用。

1 選擇映象

首先,建立虛擬機器的時候要選擇映象。這個時候嚮導是有提示的。

  • 在X86的主機上不要選其他CPU型別的映象,因為實在是太慢了。畢竟Android SDK裡自帶了Intel的加速器,別的型別的CPU實在是不行。嘗試了一下,真正找到了第一次學Android開虛擬機器的感覺。

  • 然後嚮導推薦,如果你要使用Google API(也就是Google地圖API這些)最好選擇帶Google APIs的映象。看下圖,不帶Google APIs和帶有Google APIs的映象。

在這裡插入圖片描述

這個事情就是比較坑的存在了。因為帶Google APIs的映象自帶的Google APIs也就是Google Play Servieces的版本是按照作業系統走的。Android 4.1中的Google Play Services的版本是9.x。 這樣導致我現在Android Studio推薦的Google Map版本是16.0.0,但是在帶有Google APIs的Android 4.1映象系統中跑不起來,總是提示升級。需要吧Google Map版本降低到9.2.0才可以正常顯示地圖。但是又少了幾個程式碼中的介面。 雖然少的不是關鍵介面,做得技巧一些也沒有問題。但是氣啊! 然帶有Google APIs的映象把Google Play Services安裝成了系統服務。你手工安裝的時候會報簽名不對。 所以,想要在模擬器上測試最新的google地圖,就要選擇沒有Google APIs的映象,然後自己裝。

2 安裝Google Play Services

2.1 依賴關係

Google Play Services是依賴Google Services Framework的,所以要先安裝Framework。

2.2 下載APK

這裡介紹一個網站:apkmirror.com 我的各種安裝包就是在這裡下的。

因為Android 4.1不支援Android商店的協議,所以沒法通過web的Play Store安裝,只能自己下APK安裝。

2.3 安裝APK

我的Android 4.1還無法識別SD卡,也懶得弄了,直接用ADB安裝的。

adb devices adb root //這步可能可以省略 adb install -r 要安裝的APK

之後就一切正常了。第一次進入地圖的時候,可能會看見一個Play Services的升級頁面,有可能會報Play Services已經停止的錯誤。關掉APP重進入APP就好了。

end