Meteor APK 构建被帐户破坏-谷歌
Posted
技术标签:
【中文标题】Meteor APK 构建被帐户破坏-谷歌【英文标题】:Meteor APK build broken with accounts-google 【发布时间】:2019-11-02 00:53:25 【问题描述】:我们无法再使用accounts-google 构建我们的APK。显然,这是一个严重的阻塞问题。
就在两天前,此版本运行良好。现在看来,谷歌又一次搞砸了。
产生问题的步骤:
$ meteor create broken-gooogle-oauth-test
$ cd broken-gooogle-oauth-test
$meteor add-platform android
$meteor 添加账户-google
$ meteor build --verbose ~/test-build --server=http://www.example.com
或者...
$meteor run android-device
无论哪种方式,您最终都会看到一长串错误消息,以:
/home/mad/.gradle/caches/transforms-1/files-1.1/core-1.0.0.aar/37baf6a1e42da25347f527a778e640b7/res/values/values.xml:133:5-70: AAPT: error: resource android:attr/fontVariationSettings not found.
/home/mad/.gradle/caches/transforms-1/files-1.1/core-1.0.0.aar/37baf6a1e42da25347f527a778e640b7/res/values/values.xml:133:5-70: AAPT: error: resource android:attr/ttcIndex not found.
/home/mad/androidTest3/.meteor/local/cordova-build/platforms/android/app/build/intermediates/incremental/mergeReleaseResources/merged.dir/values/values.xml:92: error: resource android:attr/fontVariationSettings not found.
/home/mad/androidTest3/.meteor/local/cordova-build/platforms/android/app/build/intermediates/incremental/mergeReleaseResources/merged.dir/values/values.xml:92: error: resource android:attr/ttcIndex not found.
error: failed linking references.
Failed to execute aapt
com.android.ide.common.process.ProcessException: Failed to execute aapt
at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:796)
at com.android.build.gradle.tasks.ProcessAndroidResources.invokeAaptForSplit(ProcessAndroidResources.java:551)
at com.android.build.gradle.tasks.ProcessAndroidResources.doFullTaskAction(ProcessAndroidResources.java:285)
at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:109)
at sun.reflect.GeneratedMethodAccessor184.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
...
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processReleaseResources'.
> Failed to execute aapt
【问题讨论】:
【参考方案1】:原因是 6 月 17 日更新了 google android libs,这使得 API 28 成为所需的最低 SDK 版本。 API 28 引入了一些新的 XML 属性,例如您的错误中引用的 ttcIndex
和 fontVariationSettings
。
在这种情况下,有问题的插件是 com.google.android.gms:play-services-auth
和 com.google.android.gms:play-services-identity
不幸的是,除了破解.meteor/local
中的流星输出之外,没有简单的方法可以解决此问题。有两种方法:
-
强制 API 28(显然您需要下载所需的 API 文件)
将
cordova-plugin-googleplus
中的 :+
版本要求更改为支持 API 27 的最新版本(例如,在 6 月 17 日之前)。
如果您可以管理,选项 1 是最干净的,在 .meteor/local/cordova-build/platforms/android
编辑 project.properties
并设置 target=android-28
选项 2 更难,但如果您还没有准备好将所有内容更新到 API 28,则更好。您需要编辑插件 plugin.xml
文件或在某处的 .gradle
文件中找到这些文件的引用位置。
【讨论】:
对于选项 2,编辑.meteor/local/cordova-build/plugins/cordova-plugin-googleplus/plugin.xml
以使用 :16+
而不是 :+
即:` 以上是关于Meteor APK 构建被帐户破坏-谷歌的主要内容,如果未能解决你的问题,请参考以下文章
Meteor 1.3+ 帐户 Facebook 登录 iOS 不工作
Meteor iOS 热代码推送在 testflight 和生产中被破坏,但在本地 xcode 构建中工作
YouTube API 被 Google 破坏。 '谷歌身份验证失败。原因:NoLinkedYouTubeAccount'