You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

集成accounts-google后Meteor APK构建失败求助

解决Meteor中accounts-google导致Android构建失败的问题

你遇到的是近期Google依赖库更新引发的兼容性问题——那些fontVariationSettingsttcIndex属性是Android API 26及以上才引入的资源,而你的项目构建配置没跟上依赖库的版本升级,导致了这些错误。下面是一步步的解决方案:

1. 升级项目的Android SDK配置

首先在项目根目录创建或修改mobile-config.js,明确指定更高的Android SDK版本(选33是目前比较稳定的兼容版本):

App.setPreference('android-targetSdkVersion', '33');
App.setPreference('android-compileSdkVersion', '33');

2. 清理缓存,避免旧依赖干扰

旧的缓存文件很可能保留了不兼容的依赖版本,先彻底清理:

  • 清理Meteor本地构建缓存:
    meteor reset
    
  • 清理Gradle全局缓存:
    rm -rf ~/.gradle/caches/
    

3. 强制统一支持库版本(如果步骤1、2无效)

如果还是报错,说明有依赖库偷偷引入了更高版本的支持库,我们可以在Gradle配置里强制统一版本:

  1. 先运行一次构建触发Cordova目录生成,然后进入.meteor/local/cordova-build/platforms/android目录
  2. 打开build.gradle,在allprojects块中添加版本锁定配置:
    allprojects {
        repositories {
            // 保留原有的仓库配置
        }
        configurations.all {
            resolutionStrategy {
                force 'com.android.support:appcompat-v7:28.0.0'
                force 'com.android.support:support-core-utils:28.0.0'
            }
        }
    }
    
    注意:这个修改会在meteor reset后被重置,你可以写个Cordova钩子脚本自动应用,或者等Meteor官方更新accounts-google包的依赖。

4. 锁定accounts-google到之前的稳定版本

如果是最近的accounts-google包更新导致的问题,你可以降级到两天前能用的版本:

  • 先查看当前安装的版本:
    meteor list
    
  • 卸载后重新安装旧版本:
    meteor remove accounts-google
    meteor add accounts-google@<你之前使用的稳定版本号>
    

这些步骤应该能解决你的构建阻塞问题——本质就是让项目的Android SDK版本和依赖库的要求匹配上,避免版本不兼容导致的资源找不到错误。

内容的提问来源于stack exchange,提问作者Marc

火山引擎 最新活动