Android 4.0模拟器上的Google Play


184

如何在我的Android 4.0模拟器上安装Google Play .apk?


1
注意:评论的结果参差不齐,所以您的行程可能会有所不同
2012年

但是它与其他仿真器版本相同,并且在那里工作,所以为什么它应该在4.x中工作?:)
reox 2012年

Answers:


259


此处下载Google应用(GoogleLoginService.apk,GoogleServicesFramework.apk,Phonesky.apk)。

启动模拟器:

emulator -avd VM_NAME_HERE -partition-size 500 -no-audio -no-boot-anim

然后使用以下命令:

# Remount in rw mode.
# NOTE: more recent system.img files are ext4, not yaffs2
adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system

# Allow writing to app directory on system partition
adb shell chmod 777 /system/app

# Install following apk
adb push GoogleLoginService.apk /system/app/.
adb push GoogleServicesFramework.apk /system/app/.
adb push Phonesky.apk /system/app/. # Vending.apk in older versions
adb shell rm /system/app/SdkSetup*

21
注意:Vending.apk在最新版本中称为Phonesky.apk
Catalin Morosan 2012年

9
网址已损坏:(
TheDude

16
-partition尺寸参数是重要的,没有它,我得到了内存不足的异常,同时推动的apk
麦克

12
我认为这个答案应该是公认的答案。毕竟,这是一个实际的答案,当前接受的答案(2013年11月11日)只是“打破乌拉就像是一件坏事,对吗?” 评论类型。
chris-l

4
我是唯一一个无法使它正常工作的人吗?在4.4和5.0模拟器上,添加APK均不会显示Play商店图标,而adb reboot只会挂起。
内特2015年

85

对于未来的访客。

截至目前,Android 4.2.2平台已包含Google Play服务。只需使用运行Jelly Bean的模拟器即可。详细信息可以在这里找到:

设置Google Play服务SDK

编辑:

另一种选择是使用Genymotion(运行速度更快)

编辑2:

正如@ gdw2所评论的:“设置Google Play服务SDK不会安装有效的Google Play应用-只是启用了SDK提供的某些服务”

在2.0版之后,默认情况下,Genymotion不附带Play Services,但可以轻松地手动安装它。只需从此处下载正确的版本并将其拖放到虚拟设备(emulador)中即可。


1
@quinestor是的
Androiderson

6
神圣的母亲!Genymotion很甜!
Ross Hambrick

6
@ Exception-al我想您应该更新答案以阐明设置Google Play服务SDK不会安装有效的Google Play应用-它仅启用SDK提供的某些服务。
gdw2

1
+1建议Genymotion !!!我不知道它的存在,现在我无法没有它。它可以在Android Studio上完美播放(只需添加插件即可),现在,我无需使用“真实”设备就可以启动我的Google Maps V2应用!太感谢了!
Loudenvier 2013年

1
@SeanChamp好点,但最终测试应该始终在真实设备上
Androiderson

27

我以更永久的方式执行此操作-而不是每次都安装APK adb将它们永久添加到模拟器使用的系统映像中。在Windows上,您将需要Yaffey,在其他系统上,则需要类似的实用程序,才能修改YAFFS2映像。将GoogleLoginService.apkGoogleServicesFramework.apk和和Phonesky.apk(或Vending.apk在较旧的Android版本中)/system/app复制system.img到模拟器文件的文件夹中。之后,我可以正常启动模拟器,而不会与adb发生冲突,并且Play商店始终在那儿。

从您的设备获取Google Play应用

从某些Internet网站下载Google Apps可能不是合法的,但是如果您的手机或平板电脑具有相应的Android版本,只需将其从设备中拉出即可:

adb -d root
adb -d pull /system/app/GoogleLoginService.apk
adb -d pull /system/app/GoogleServicesFramework.apk
adb -d pull /system/app/Phonesky.apk

您必须具有对设备的root级访问权限(运行adb root)才能从设备中提取这些文件。

将其添加到图像

现在开始 yaffey Windows或Linux或Mac上的类似实用程序,然后打开system.img要修改的仿真器映像。我经常修改中的一个[...]\android-sdk\system-images\android-17\x86

将原件重命名system.imgsystem-original.img。在“ yaffey”下,将您从设备中拉出的APK文件复制到/ app文件夹中。将修改后的图像另存为system.img原始文件夹。然后启动您的模拟器(在我的情况下,它将是运行有Intel Atom处理器的Android 4.2模拟器,该处理器在Intel HAX下运行,在Windows机器上超级快),您将在Play Store中找到该商店。我发现没有必要删除,SdkSetup.apk而且SdkSetup.odex-存在这些文件后,Play商店和其他服务仍然可以正常工作。

完成测试后,为了减轻您从设备上临时盗版Google Apps的良心罪过,您可以删除修改后的内容,system.img并从中还原原始内容system-original.img


5
似乎没有适用于Linux的YAFF2编辑器,但幸运的是,事实证明,经过一线更改,Yaffey本身就可以在Linux上编译并运行。张贴了我在“询问Ubuntu”问题上使用的步骤。
机械蜗牛

+1太少了,无法获得更多幸福。.StackOverflow应该有一个kiss-cos-ur-so-happy-button :)
Abhishek Susarla 2014年

我能够在没有root的情况下从一个Android 4.1.2手机中拉出三个APK,但我仍在努力在其他地方安装它们。
bonh 2014年

Mac是否有其他麻烦的选择?
OlcayErtaş15年

1
@OlcayErtaşMac Yaffey:github.com/danielkutik/yaffey。构建一个Yaffey.app,在我的优胜美地上完美运行。

4
  1. http://goo.im/gapps下载gapps软件包
  2. 提取GoogleLoginService.apk,GoogleServicesFramework.apk和Vending.apk转到cmd窗口类型 adb shell
    1. 在壳上 mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
    2. 然后按Ctrl + c退出。cd到已提取apk的目录,
    3. 类型 adb push <appname>.apk /system/app
    4. 然后输入 adb reboot

在我的项目或adt捆绑平台工具中需要放置.apk文件的位置?
2014年

除非已设置PATH环境变量,否则将其复制到Platform-tools
insomniac 2014年

1
没有权限。
Sanyam Jain

@SanyamJain您解决了这个问题吗?我收到相同的消息,挂载:权限被拒绝
Joshua Son

@JoshuaSon:不,我不能。从各种来源阅读后,我得出结论,这可能不值得付出努力,因为模拟器不断崩溃,或者该策略不适用于即将推出的Android版本。如果我错了,请纠正我:)
Sanyam Jain

2

您可以从Android 4.0手机下载它,然后挂载系统映像rw并复制过来。

之前没有尝试过,但应该可以。


不,带有GAPPS的拉链太大。
IgorGanapolsky '16


0

Linux中的Playstore + Google Play服务(Ubuntu 14.04)


下载Google应用(GoogleLoginService.apk,GoogleServicesFramework.apk)

从这里http://www.securitylearn.net/2013/08/31/google-play-store-on-android-emulator/

并从此处https://basketbuild.com/filedl/devs?dev=dankoman&dl=dankoman/Phonesky.apk下载(Phonesky.apk)

转到ANDROID SDK位置>>

cd -Android SDK的工具位置-

运行仿真器>>

Android / SDK / tools $ ./emulator64-x86 -avd Kitkat -partition-size 566 -no-audio -no-boot-anim

设置权限>>

cd Android / SDK / platform-tools平台工具$ adb shell mount -o remount,rw -t yaffs2 / dev / block / mtdblock0 / system

平台工具$ adb shell chmod 777 / system / app

platform-tools $ adb push /home/nazmul/Downloads/GoogleLoginService.apk / system / app /。

按键播放APKS >>

platform-tools $ adb push /home/nazmul/Downloads/GoogleServicesFramework.apk / system / app /。平台工具$ adb push /home/nazmul/Downloads/Phonesky.apk / system / app /。平台工具$ adb shell rm / system / app / SdkSetup *


系统没有足够的空间来安装GAPPS。
IgorGanapolsky '16

-1

您是否尝试过Genymotion?我上周已经读过它,它很棒。他们有几个您运行的Android图像(使用自己的软件)。这些图像的速度非常快,并且已安装了Google Play。检查一下是否是您需要的东西。

http://www.genymotion.com/


genymotion不提供API级别低于16的VM
martyglaubitz 2015年

作为对Genymotion的评论,请告知任意读者:Genymotion使用VirtualBox Virtualization平台。VIrtualBox旨在模拟英特尔微控制器平台。由于此限制,可能无法使用Genymotion模拟ARM微控制器平台。当然,这可能会引起一个正交的问题,例如是否有必要,何时以及为什么需要在每个可能的微型conotroller或微控制器仿真器上使用跨平台SDK对应用程序进行β测试。并不是所有应用程序都不太关心Intel-virt限制吗?
肖恩·尚普
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.