Cha*_*ere 186 android google-play-services
将我的项目升级到最新版本的Google Play服务(v4.0,在2013年万圣节发布)时,您现在应该在AndroidManifest.xml文件中添加新标记.
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我尝试这样做时,我得到了这个编译错误:
android-apt-compiler: /blahblah/AndroidManifest.xml:409: error: Error: No resource found that matches the given name (at 'value' with value '@integer/google_play_services_version').
Run Code Online (Sandbox Code Playgroud)
然后我可以导航到该文件google-play-services_lib/res/values/version.xml并查看该符号的原始整数:
<integer name="google_play_services_version">4030500</integer>
Run Code Online (Sandbox Code Playgroud)
然后将其插回我的AndroidManifest.xml:
<meta-data
android:name="com.google.android.gms.version"
android:value="4030500" />
Run Code Online (Sandbox Code Playgroud)
这样做非常好,我可以编译并运行项目和应用程序就好了.但它绝对是一个不可取的解决方案,具有明显的可升级性问题.
有任何想法吗?
PSc*_*tte 257
对于每个使用Eclipse的人来说,这就是你应该如何做到的.
Eclipse - > import - >现有的android代码 - >浏览 - >导航到google-play-services_lib文件夹(android-sdk/extras/google/google_play_services/libproject).
然后,在您的项目上
控制单击 - >属性 - > android - >库,添加 - >选择刚刚导入的项目 - >确定
Cha*_*ere 78
请注意,此修复程序可能仅适用于IntelliJ用户!(此帖子底部的更多信息应适用于所有人.)
修正了这个问题!我使用IntelliJ,事实证明我错误配置了我将google-play-services_lib模块作为依赖项包含的方式.
由于我完全通过GUI修复了这一点,而根本没有通过编辑任何文件,这里有几个屏幕截图:
所以我的项目结构开始看起来像这样......
然后我google-play-services通过选择它然后单击底部的减号按钮从我的依赖列表中删除该库.注意对话框底部的错误,因为我的项目绝对需要这个库.但不要担心,我们很快就会重新加入!
接下来,我添加google-play-services_lib了模块依赖项而不是库依赖项.然后我点击底部的向上箭头按钮几次将此依赖项移动到列表顶部.但请注意底部的错误(我们还没有完成!)
然后我单击错误消息区域中对话框底部的灯泡,调出这个小小的弹出窗口,提供两个选项(添加到依赖项...或删除库).单击添加到依赖项...选项!
应该弹出一个新的小对话窗口.它给了我两个选择,一个用于我的主项目(它的名字已经模糊了),然后另一个用于google-play-services_lib项目.根据你的项目你可能会有更多的actionbarsherlock东西(就像你可能会看到的那样).选择google-play-services_lib并单击确定!
最后,你完成了!我希望这有助于其他人!
我相信这个问题一开始就发生的原因是因为我认为我已经将整个google-play-services_lib项目正确地包含在我的整个项目中......但实际上我没有,而只是恰当地包含了它的jar文件(google-play-services_lib/libs/google-play-services.jar).该jar文件只包含代码,而不是Android资源值,因此该@integer/google_play_services_version值从未真正存在于我的项目中.但代码能够在我的项目中使用,因此看起来一切都很好.
作为旁注,修复此问题似乎也解决了GooglePlayServicesUtil.getErrorDialog(...).show()我曾经遇到的崩溃问题.但这也可以通过更新修复,而不是真正100%确定.
Atu*_*yal 31
我遇到了同样的问题,显然Eclipse 在制作副本时以某种方式将version.xml文件保留在原始google-play-services_lib项目的/ res/values中.我从原始项目中提取文件并将其粘贴到我的项目副本中,问题得到解决.
小智 24
在Eclipse上,将google play库导入项目工作区后,我刚刚从中复制了version.xml文件
google-play-services_lib/res/values/version.xml
Run Code Online (Sandbox Code Playgroud)
至
MyProjectName/res/values/version.xml
Run Code Online (Sandbox Code Playgroud)
Sof*_*LLC 20
对于使用gradle的任何人:不要包含项目源,而是使用SDK Manager下载它并将此行添加到依赖项:
compile 'com.google.android.gms:play-services:4.0.30'
Run Code Online (Sandbox Code Playgroud)
小智 11
compile 'com.google.android.gms:play-services:4.1.32@aar'到您的build.gradle.@integer/google_play_services_version将可用.Com*_*are 10
关闭袖口,感觉您的项目已连接到较旧版本的Play服务库项目.Google推荐的方法是让您在SDK中找到库项目并制作本地副本.但这确实意味着,只要您通过SDK Manager更新Play服务库项目,您还需要用新副本替换副本.
在尝试使用google_play_services_froyo时,我也遇到了这个问题.
我提交了这个错误:https://code.google.com/p/google-plus-platform/issues/detail?id = 734
如果您没有将库放入Eclipse中的工作区,可以添加它:
File- > Import- > Existing Android Code Into Workspace- >浏览并导航到google-play-services_lib项目库,(android-sdk/extras/google/google_play_services/libproject).

/bin和/gen我的项目文件夹(类似于干净选项的东西),然后重新建立我的项目.小智 6
解决了Eclipse
按照后续步骤操作:
Google的Android开发者网站提供了有关如何"向您的项目添加Google Play服务"的说明,并且还与如何升级Play服务版本相关.甚至还有一个下拉菜单可以查看Eclipse,Android Studio或"Something"的说明.如果指令发生变化,这将是查看指令的最佳位置.页面在这里:
http://developer.android.com/google/play-services/setup.html
但由于这里的大多数答案都是针对Eclipse的,因此这里是使用Android Studio升级Play服务的简短摘要
您可以通过查看\ sdk\extras\google\m2repository\com\google\android\gms\play-services文件夹找到已在开发计算机上下载的播放服务版本的版本号,如此处所述:如何将Google Play服务修订与安装版本相匹配?
| 归档时间: |
|
| 查看次数: |
213104 次 |
| 最近记录: |