【问题标题】:Getting buid error in node.js for Android在 Android 的 node.js 中出现构建错误
【发布时间】:2020-12-03 12:58:15
【问题描述】:

我在 Androidmanifest.xml 文件中添加 android:requestLegacyExternalStorage="true" 后出现构建错误,没有 android:requestLegacyExternalStorage="true" 可以构建。在 android ver 10 设备中无法创建目录,所以我添加了android:requestLegacyExternalStorage="true"。 我是用 node.js cmd 提示构建的。错误如下

 FAILED

FAILURE: Build failed with an exception.

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

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 4.908 secs
cmd: Command failed with exit code 1 Error output:
F:\Mobile Projects\1652019\FingerTips\OAMobile\platforms\android\build\intermediates\manifests\full\debug\AndroidManifest.xml:39: AAPT: No resource identifier found for attribute 'requestLegacyExternalStorage' in package 'android'

F:\Mobile Projects\1652019\FingerTips\OAMobile\platforms\android\build\intermediates\manifests\full\debug\AndroidManifest.xml:39: error: No resource identifier found for attribute 'requestLegacyExternalStorage' in package 'android'



FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':processDebugResources'.

我试过了,我删除了android平台并再次添加,仍然出现错误,我也安装了这个插件cordova plugin add cordova-android-support-gradle-release --variable ANDROID_SUPPORT_VERSION=27.+

当我使用这个命令 gradle compileDebug --scan 进行跟踪时,我得到低于 2 的错误

FAILURE:构建完成,失败了 2 次。

1: 任务因异常而失败。

  • 在哪里: 脚本'F:\Mobile Projects\1652019\FingerTips\OAMobile\platforms\android\CordovaLib\cordova.gradle' 行:64

  • 出了什么问题: 评估根项目“android”时出现问题。

未找到已安装的构建工具。安装 Android 构建工具 19.1.0 或更高版本。

尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。

2:任务因异常而失败。

  • 出了什么问题: 配置根项目“android”时出现问题。

buildToolsVersion 未指定。

尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。

问候和感谢 阿拉文

【问题讨论】:

    标签: android cordova mobile


    【解决方案1】:

    AAPT:在包“android”中找不到属性“requestLegacyExternalStorage”的资源标识符

    这通常是由于使用了不兼容的构建工具版本造成的。对于requestLegacyExternalStorage,您需要版本 29.x 构建工具。

    打开 Android Studio 的 SDK 管理器并安装最新版本的可用构建工具。然后确保构建工具目录位于您的PATH 环境变量中。更改环境变量后不要忘记重新启动终端会话。

    【讨论】:

    • 谢谢,您能否提供目录需要在 PATH 环境变量中提供的构建工具,bcz Android 构建工具出现在我系统中的 3 个及更多位置,例如 C:\Android,C:\windows\ Android, C:\program files\android, C:\program files (x86)\android 而且我不能添加 PATH 变量,bcz 得到错误,比如字符串字符是 long 1024。
    • 这取决于您的环境。构建工具目录将位于您的%ANDROID_HOME%/build-tools 中。在此文件夹中,您安装的每个版本都会有一个文件夹。所以你的完整路径应该类似于%ANDROID_HOME%/build-tools/<version you want to use goes here>。需要明确的是,您不应该替换您的 PATH 变量,而只是附加到它(或者如果它已经存在,则更改构建工具的行。)
    • 嗨,我添加了构建工具路径,即使我得到了错误,当我运行“cordova 要求”时,我得到以下详细信息 android 的要求检查结果:Java JDK:已安装 1.8.0 Android SDK:已安装 true Android 目标:已安装 android-23、android-24、android-25、android-26、android-27、android-28、android-Q、android-29 无法读取未定义的属性“版本”——我忘记了什么吗?
    猜你喜欢
    • 1970-01-01
    • 2021-02-26
    • 2015-11-16
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2016-08-14
    • 2019-08-01
    • 1970-01-01
    相关资源
    最近更新 更多