Доступ к google apis в новом эмуляторе Intel x86 android

Я просто попытался запустить свое корпоративное приложение в новом эмуляторе x86 android, но наше приложение опирается на API карт google, и это недоступно в образовании системы x86, которое предоставлено в Google с выходом Android sdk 17. Моя интуиция говорит ответ - нет, но возможно ли как-то получить google-apis в этом системном образе? Если нет, есть ли способ условно не использовать системный API, такой как карты google, если он отсутствует на устройстве/эмуляторе, который вы используете в настоящее время?

Ответ 1

Моя интуиция говорит, что ответ отрицательный, но возможно ли получить google-apis в этом системном образе?

Существует только одно изображение, поэтому, если карт нет, то карт там нет. Вы не можете добавить дополнение Карты к существующему изображению эмулятора, за исключением, возможно, с помощью программного пиратства, поскольку другой ответ на этот вопрос защищает.

Если нет, есть ли способ условно не использовать системный API, такой как карты google, если он отсутствует на устройстве/эмуляторе, который вы используете в настоящее время?

Абсолютно!

Шаг # 1: добавьте android:required="false" в ваш элемент <uses-library> для Карт Google, чтобы вы могли установить приложение

Шаг # 2: Когда-нибудь, прежде чем приступать к использованию Карт Google, посмотрите, есть ли у вас классы, связанные с Картами, с помощью Class.forName()

Например, в этом примере образца книги моя активность запуска показывает, есть ли у нас MapActivity, и если мы это сделаем, он передает управление MapActivity экземпляр, а если не показывает a Toast.

Ответ 3

Как и в случае API 19 (Android 4.4), похоже, что сейчас Google предоставляет пакет API Google для x86.

Package Description
Google APIs (x86 System Image), Android API 19, revision 2
By Google Inc.
Android x86 + Google APIs
Requires SDK Platform Android API 19

Archive Description
Archive for any OS
Size: 195.5 MiB
SHA1: 0fb71d18800064c96a5645166e2ae666275a1e59