Cordova 生成 Android 错误

Cordova build to Android error

我用 Construct 2 制作了一个应用程序并导出到 Intel XDK。然后我导出到 cordova,每次我尝试使用 "cordova build android" 构建时,我都会收到此错误:

错误:在 FontFamilyFont 中,找不到属性 android:t tcIndex

失败

失败:构建失败,出现异常。

构建失败

总时间:47.337 秒

Command finished with error code 1: cmd /s /c "C:\Users\Gustavo\app\platfo
rms\android\gradlew.bat cdvBuildDebug -b C:\Users\Gustavo\app\platforms\an
droid\build.gradle -Dorg.gradle.daemon=true -Dorg.gradle.jvmargs=-Xmx2048m -Pand
roid.useDeprecatedNdk=true"
Error: cmd: Command failed with exit code 1 Error output:
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
ERROR: In <declare-styleable> FontFamilyFont, unable to find attribute android:fontVariationSettings
ERROR: In <declare-styleable> FontFamilyFont, unable to find attribute android:ttcIndex


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':processDebugResources'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt

我是第一次在这里发帖,所以如果我做错了什么,请告诉我。

古斯塔沃,

可能是你的cordova插件或平台有冲突。第二种可能是,你已经通过 npm 添加了组件,但还没有安装它。对于这两种情况,我建议您列出当前安装的版本,记下它们然后更新 cordova。这是列出版本的方法,就像我所拥有的那样。

cd projectfolder $ cordova plugin cordova-plugin-console 1.1.0 "Console" cordova-plugin-device 2.0.1 "Device" cordova-plugin-whitelist 1.3.3 "Whitelist" $ cordova platform Installed platforms: android 7.0.0 browser 5.0.3 Available platforms: ios ~4.5.4 osx ~4.0.1 windows ~5.0.0 www ^3.12.0 $ npm -v 3.10.10

以下是为项目更新 cordova 的方法。此示例假设您使用的是 android 平台。如果您还有其他 plugins/platform,请执行必要的操作。

npm install
npm update
cordova platform rm android --nosave
cordova platform add android

或者

cordova platform update android

如果您发现某个特定插件存在版本错误,请删除并删除具有所需版本的插件。

感谢您的帮助!

我通过在 build-extras.gradle 文件中添加以下内容成功构建:

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-v4:27.1.0'
    }
}

并通过安装 cordova-android-support-gradle-release.