google-play-services不会构建到Eclipse中的Android Maps Hello World项目中

时间:2013-11-13 06:40:23

标签: java android eclipse google-maps eclipse-adt

更新: UI错误导致我无法导入google-play-services_lib。我必须在SDK列表下方单击才能滚动以查看“库”框。有关详细信息,请参阅the image in the accepted answer

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

我按照谷歌的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播放服务。

我正在运行4.4模拟器,4.4是我的项目将构建的最低版本。我尝试了以下内容,以便能够在我的应用中使用google-play-services / google-play-services_lib:

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

1)属性 - &gt; Android - &gt;目标构建路径 - &gt; Android 4.4 2)属性 - &gt; Android - &gt;目标构建路径 - &gt; 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!

logcat的:

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 }

logcat的:

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)

提前谢谢!任何帮助表示赞赏。 :)

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我认为你的XML文件中有错误,因为在log-cat中你得到了

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