我正在使用x86英特尔Android模拟器开发Android应用程序。
但是当我使用google croud messaging API时,发生了错误。
java.lang.UnsupportedOperationException: Device does not have package com.google.android.gsf
如果使用Google APis的开关模拟器,错误很明显。但是很慢......
我搜索了同样的情况,我找到了Google地图API。
How to create avd with google api for Intel x86 atom image?
http://38911bytes.blogspot.de/2012/03/how-to-use-google-maps-api-in-android.html
但这些文章只是谷歌地图问题,不适用于GCM API。
有解决方案吗?
答案 0 :(得分:5)
我建议您使用AndroVM。
AndroVM http://androvm.org/wp-uploads/2012/09/logo-androvm-final1.jpg
它实际上是VirtualBox的x86 Android VM映像(使用Google API),您可以在其中部署&有效地测试您的应用。在我看来,它与真正的Android设备一样快,并且在开发Android应用程序时提高了我的工作效率。
要设置AndroVM,您可以查看我认为非常清楚的官方documentation。
您可以从download page抓取您的虚拟机镜像,不要忘记下载带有gapps&的霍迪尼强>
我刚刚检查了我的安装,并在/ system / app下找到了GoogleServicesFramework.apk。所以它应该满足你的需要。
答案 1 :(得分:1)
您现在可以使用Genymotion,AndroVM已被弃用。
您可以使用插件和Android Studio从Eclipse启动模拟器。
关于我遇到此问题的问题...按照第一个答案(使用谷歌应用程序的图像)然后创建一个谷歌帐户并打开Play商店,以便它可以更新,因为GCM需要Google Play服务。
就是这样。
答案 2 :(得分:0)
这种情况会在使用错误的模拟器的情况下发生
默认模拟器未配置为运行gcm API,您将模拟器与Google API结合使用。
您需要创建新的模拟器,选择Google API级别xx,然后运行项目并在该模拟器上运行,希望它能正常工作。