我刚尝试在新的x86 android模拟器中运行我公司的应用程序,但我们的应用程序依赖于谷歌地图API,而这在谷歌提供的android sdk 17版本的x86系统映像中不可用。我的直觉说答案是否定的,但有可能以某种方式将谷歌apis纳入此系统映像吗?如果没有,是否有任何方法有条件地不使用谷歌地图等系统API,如果它目前正在使用的设备/模拟器上不存在?
答案 0 :(得分:32)
您必须使用Googles库和权限创建系统映像。 有关食谱的信息,请参阅http://38911bytes.blogspot.de/2012/03/how-to-use-google-maps-api-in-android.html以创建和使用此类图像。
答案 1 :(得分:12)
我的直觉说答案是否定的,但是有可能以某种方式将谷歌apis放入这个系统图像吗?
只有一张图片,所以如果不存在地图,那么地图就不存在了。您无法将地图加载项添加到现有的模拟器图像中,除非可能是通过软件盗版,因为此问题的其他答案主张。
如果没有,有没有办法有条件地不使用谷歌地图等系统API,如果你当前使用的设备/模拟器上没有它?
绝对!
第1步:将android:required="false"
添加到Google地图的<uses-library>
元素中,以便安装该应用
步骤2:在您开始尝试使用Google地图之前的某个时间,请查看您是否使用Class.forName()
例如,在this book sample project中,我的启动器活动会看到我们是否有MapActivity
,如果我们这样做,它会将控件传递给MapActivity
实例,如果没有则会显示Toast
1}}。
答案 2 :(得分:1)
从API 19(Android 4.4)开始,Google本身现在正在为x86提供Google API包。
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
答案 3 :(得分:-1)
请注意,Android 4.3 x86系统映像现在应该包含Google API。它于2014年3月4日发布。