在阅读Google Play服务设置文档时,听起来像Froyo Rev. 12的Google Play服务应该与Android 2.3及更高版本向前兼容.
但是,我在Github的GPSTest应用程序中实现了这个问题,目前包括Froyo的Google Play服务.
如果我尝试使用以下元素使用Google Play Services for Froyo Rev. 12构建项目:
...包含在AndroidManifest.xml中,我收到一个构建错误:
Error: No resource found that matches the given name (at 'value' with value '@integer/google_play_services_version').
这是预期的(根据我目前的理解),因为这个整数在Froyo项目的Google Play服务中不存在(sdk\extras\google\google_play_services_froyo\res\values).
如果我从清单中删除这个元素,它在通过Eclipse构建和调试应用程序时可以正常工作(正如我所料).但是,当我导出APK时,安装在设备上(三星Galaxy S3 Android 4.3,谷歌播放服务v4.0.34 - 从Dropbox下载导出的APK),并运行,我在启动时收到以下错误,应用程序崩溃:
java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value. Expected 4030500 but found 0. You must have the following declaration within theelement: at com.google.android.gms.common.b.a(Unknown Source) at com.google.android.gms.maps.a.bn.a(Unknown Source) at com.google.android.gms.maps.m.g(Unknown Source) at com.google.android.gms.maps.m.a(Unknown Source) at com.google.android.gms.a.b.a(Unknown Source) at com.google.android.gms.a.b.a(Unknown Source) at com.google.android.gms.maps.SupportMapFragment.onCreate(Unknown Source) at android.support.v4.app.Fragment.performCreate(Unknown Source) at android.support.v4.app.FragmentManagerImpl.moveToState(Unknown Source) at android.support.v4.app.FragmentManagerImpl.moveToState(Unknown Source) at android.support.v4.app.BackStackRecord.run(Unknown Source) at android.support.v4.app.FragmentManagerImpl.execPendingActions(Unknown Source) at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(Unknown Source) at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(Unknown Source) at android.support.v4.view.ViewPager.populate(Unknown Source) at android.support.v4.view.ViewPager.populate(Unknown Source) at android.support.v4.view.ViewPager.onMeasure(Unknown Source) at android.view.View.measure(View.java:16848) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5245) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at android.view.View.measure(View.java:16848) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5245) at com.android.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:302) at android.view.View.measure(View.java:16848) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5245) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2586) at android.view.View.measure(View.java:16848) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2189) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1352) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1535) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1249) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6364) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:791) at android.view.Choreographer.doCallbacks(Choreographer.java:591) at android.view.Choreographer.doFrame(Choreographer.java:561) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:777) at android.os.Handler.handleCallback(Handler.java:730) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5455) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) at dalvik.system.NativeStart.main(Native Method)
我正在为Froyo Rev. 12使用Google Play服务,这里是带有完整版本信息的AndroidManifest.xml:
有没有办法可以使用适用于Android 2.2及更高版本的Froyo Rev. 12的Google Play服务将单个APK部署到Google Play?
或者,如果我想保留对Froyo的支持,我是否需要将两个APK部署到Google Play(一个使用Google Play Services for Froyo for Android 2.2,另一个使用Google Play Services for Android 2.3及更高版本)?
有没有人在Android 2.3及更高版本上成功部署了Froyo的Google Play服务?