2012年10月4日木曜日

Androidのx86エミュでAccountManager経由のOAuth2を可能にできるか?

AccountManager経由のOAuth2を行うとなると、実機かGoogle API系のエミュを使うことになる。しかし、Google API系のエミュは非常に遅い!

昨日「Google Play Store」をエミュレーターにインストールできるか?という記事を書いている時に思いついた。

ひょっとして、同じ方法でGoogleServicesFramework.apkとGoogleLoginService.apkをx86エミュにインストールできれば、x86エミュでもAccountManager経由のOAuth2が可能になるのではないか?と。

結論から言うと、撃沈だ_| ̄|○

まずはGingerBreadのx86エミュ。例のGingerBread用の「gapps-gb-20110828-signed.zip」パッケージには、そもそもGoogleLoginService.apkが含まれていないので即、諦めた。

次にICSのx86エミュ。例のICS用の「gapps-ics-20120317-signed.zip」パッケージにはどちらも含まれている。しかし、apkをpushするときになぜかOut of memoryエラーが出てインストールできない。

# adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system
# adb shell chmod 777 /system/app
# adb push GoogleLoginService.apk /system/app/.
ailed to copy 'GoogleLoginService.apk' to '/system/app/./GoogleLoginService.apk': Out of memory
# adb push GoogleServicesFramework.apk /system/app/.
failed to copy 'GoogleServicesFramework.apk' to '/system/app/./GoogleServicesFramework.apk': Out of memory
# adb shell rm /system/app/SdkSetup*

このように十分にメモリもSDカードも与えているのにも関わらず。


最後にJellyBeanのx86エミュ。例のJellyBean用の「gapps-jb-20120726-signed.zip」パッケージにもどちらも含まれている。しかし、これもICSの時と同じようにOut of memoryエラーが出てインストールできない。

このように十分にメモリもSDカードも与えているのにも関わらず。


Out of memoryエラーを出さない方法、無いかなぁ・・・