google-play-services不会在Eclipse中内置到Android Maps HelloWorld项目中



>更新:一个UI错误阻止我导入google-play-services_lib。我必须单击SDK列表下方才能滚动以查看"库"框。有关详细信息,请参阅接受答案中的图像。

我正在使用Android IDE来获取一个Hello World地图应用程序,我将其命名为Intactless2。这些文件都正确命名,android-support-v4.jar在/libs 中,我有一个有效的 API 密钥等。

我遵循了Google的Android地图指南,复制并粘贴了Java并逐字activity_main.xml:

https://developers.google.com/maps/documentation/android/start#getting_the_google_maps_android_api_v2

我正确地将所有内容添加到我的清单中。我在<meta-data android:name="com.google.android.gms.version"上遇到错误...的值不正确,所以我对 version.xml 文件中的整数进行了硬编码,以便它android:value="4030500" .否则,我的清单将保持不变。

尝试了Google热门中的所有解决方案,以获取我收到的错误消息,但它仍然无法运行。通常,这将表明一个我还没有想到的特殊错误,甚至可能与Google Play服务无关,但我完全按照Google的指南建议重建了它,并重做了这些帖子中的所有建议,但仍然无法使用Google Play服务。

我正在运行 4.4

模拟器,4.4 是我的项目将构建到的最低版本。我已经尝试了以下方法,以便能够在我的应用程序中使用google-play-services/google-play-services_lib:

1)为Google Play服务制作了一个Eclipse项目,并将其添加到我的项目中。右键单击我的项目 -> 属性 -> Java 构建路径 -> 项目 添加 -> google-play-services_lib。 a) 在订单和导出中检查了谷歌播放services_lib b) 未经检查的 oogle-play-services_lib 在订单和导出2)将google-play-services,google-play-services_lib和google-play-services.properties从我的Android SDK目录复制粘贴到我的项目中的/libs目录中。

1) 属性 -> 安卓 ->

目标构建路径 -> 安卓 4.42) 属性 -> Android -> 目标构建路径 -> Google API(正下方的"Android 4.4")

这是很多组合,包括StackOverflow上人们建议的解决方案。

此外,如果我将<uses-library android:name="com.google.android.gms.maps" />(或按照某些指南的建议删除 gms)添加到我的清单中,我会收到此 LogCat 错误:

11-13 00:57:18.890: E/PackageManager(938): Package com.example.intactless2 requires unavailable shared library com.google.android.gms.maps; failing!

将 google-play-services/google-play-services_lib 导入为 Eclipse 项目:

google-play-services_lib Eclipse项目的屏幕截图:http://postimg.org/image/ukbqjk9lp/

包资源管理器中我的hello world Maps项目的屏幕截图:http://postimg.org/image/589t2137h/

控制台输出:

...
[2013-11-12 21:57:13 - Intactless2] Installing Intactless2.apk...
[2013-11-12 21:57:19 - Intactless2] Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY
[2013-11-12 21:57:19 - Intactless2] Please check logcat output for more details.
[2013-11-12 21:57:19 - Intactless2] Launch canceled!

日志猫:

11-13 01:03:44.870: E/AndroidRuntime(1886): FATAL EXCEPTION: main
11-13 01:03:44.870: E/AndroidRuntime(1886): Process: com.example.intactless2, PID: 1886
11-13 01:03:44.870: E/AndroidRuntime(1886): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.intactless2/com.example.intactless2.MainActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class fragment
11-13 01:03:44.870: E/AndroidRuntime(1886):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2176)
11-13 01:03:44.870: E/AndroidRuntime(1886):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2226)
11-13 01:03:44.870: E/AndroidRuntime(1886):     at android.app.ActivityThread.access$700(ActivityThread.java:135)
...

将google-play-services.jar,google-play-services_lib.jar和google-play-services.jar.properties直接放入我项目的/libs目录中

包资源管理器中我的hello world Maps项目的屏幕截图:http://postimg.org/image/l68z4crl7/

控制台输出:

...
[2013-11-12 22:15:20 - Intactless2] Uploading Intactless2.apk onto device 'emulator-5554'
[2013-11-12 22:15:20 - Intactless2] Installing Intactless2.apk...
[2013-11-12 22:15:37 - Intactless2] Success!
[2013-11-12 22:15:37 - Intactless2] Starting activity com.example.intactless2.MainActivity on device emulator-5554
[2013-11-12 22:15:41 - Intactless2] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.intactless2/.MainActivity }

日志猫:

11-13 01:15:43.990: E/AndroidRuntime(1959): FATAL EXCEPTION: main
11-13 01:15:43.990: E/AndroidRuntime(1959): Process: com.example.intactless2, PID: 1959
11-13 01:15:43.990: E/AndroidRuntime(1959): java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
11-13 01:15:43.990: E/AndroidRuntime(1959):     at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source)
11-13 01:15:43.990: E/AndroidRuntime(1959):     at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source)
11-13 01:15:43.990: E/AndroidRuntime(1959):     at android.app.Activity.onCreateView(Activity.java:4784)
11-13 01:15:43.990: E/AndroidRuntime(1959):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689)
11-13 01:15:43.990: E/AndroidRuntime(1959):     at android.view.LayoutInflater.inflate(LayoutInflater.java:469)
11-13 01:15:43.990: E/AndroidRuntime(1959):     at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
11-13 01:15:43.990: E/AndroidRuntime(1959):     at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
11-13 01:15:43.990: E/AndroidRuntime(1959):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290)
11-13 01:15:43.990: E/AndroidRuntime(1959):     at android.app.Activity.setContentView(Activity.java:1928)
11-13 01:15:43.990: E/AndroidRuntime(1959):     at com.example.intactless2.MainActivity.onCreate(MainActivity.java:11)
11-13 01:15:43.990: E/AndroidRuntime(1959):     at android.app.Activity.performCreate(Activity.java:5243)

提前谢谢你!任何帮助,不胜感激。:)

您提到您使用的是 4.4 模拟器 - 您需要使用 Google APIs (Google Inc.) - API Level 19 模拟器来使用 Google Play 服务进行测试。

我认为您的XML文件中有错误,因为在log-cat中您正在获得

 Binary XML file line #2: Error inflating class fragment first you try to rectify it

最新更新