Appcelerator构建报错:无法匹配@integer/google_play_services_version资源
我之前在使用Titanium SDK 7.x版本时也碰到过完全一样的错误,给你几个亲测有效的解决方案:
检查并添加Google Play Services模块到tiapp.xml
有时候项目没有正确引入Google Play Services模块,导致系统找不到@integer/google_play_services_version这个资源。打开你的tiapp.xml,在<modules>节点下添加对应平台的模块引用:<modules> <module platform="android" version="11.0.0">ti.googleplayservices</module> </modules>版本号建议选择和你的Titanium SDK 7.0.1兼容的版本(11.0.0是比较适配的稳定版),如果不确定可以在Appcelerator的模块市场查看对应版本的兼容说明。
验证SDK管理器中的Google Play Services安装状态
打开Appcelerator Studio的SDK Manager,切换到Android标签,检查Extras分类下的Google Play Services是否已经安装,并且版本和你引入的模块版本匹配。如果之前更新后没生效,可以尝试先卸载再重新安装对应版本。彻底清理项目缓存
单纯的Studio清理可能不够,你需要手动删除以下目录来清除顽固缓存:- 项目根目录下的
build文件夹 - 用户目录下的
.gradle文件夹(比如Windows的C:\Users\<你的用户名>\.gradle,Mac的~/Users/<你的用户名>/.gradle)
删除后重启Studio,再重新执行构建操作。
- 项目根目录下的
检查第三方模块的依赖冲突
如果你的项目使用了第三方Android模块,有些模块可能自带了旧版本的Google Play Services依赖,导致版本冲突。可以打开模块的manifest.xml文件,查看是否有引用com.google.android.gms相关的库,若有尝试更新该模块到最新版本,或者在tiapp.xml中添加依赖排除配置:<android xmlns:android="http://schemas.android.com/apk/res/android"> <manifest> <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="26"/> <application> <!-- 统一指定版本资源 --> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/> </application> </manifest> </android>
这些步骤应该能解决大部分这类资源找不到的问题,你可以按顺序尝试。
内容的提问来源于stack exchange,提问作者dreamdeveloper

