cordova - 使用 CMD 行构建失败 --ionic cordova build android
问题描述
我面临问题,无法找到解决方案。使用 Ionic 和 cordova 创建了一个简单的应用程序,设置所有环境变量 { like JAVA_HOME、Android/sdk、Platform-tool、Gradle} 和像往常一样的 ionic cordova build android 命令工作正常。我做了一些更改,例如使用 HttpClient 调用外部数据,当我要使用相同的命令构建时,再次面临以下问题。请帮我解决。
cordova.cmd build android 检查 Java JDK 和 Android SDK 版本 ANDROID_SDK_ROOT=C:\Users\Lenovo\AppData\Local\Android\Sdk (推荐设置) ANDROID_HOME=C:\Users\Lenovo\AppData\Local\Android (DEPRECATED) 使用Android SDK:C:\Users\Lenovo\AppData\Local\Android\Sdk 子项目路径:CordovaLib 子项目路径:app 在不一致的位置 'C:\Users\Lenovo\AppData\ 中观察到包 id 'build-tools;29.0.3' Local\Android\Sdk\build-tools\29.0.3'(预期'C:\Users\Lenovo\AppData\Local\Android\build-tools\29.0.3')在不一致的位置'C'中观察到包ID'emulator' :\Users\Lenovo\AppData\Local\Android\Sdk\emulator'(预期的'C:\Users\Lenovo\AppData\Local\Android\emulator')观察到的包 id 'extras;intel;Hardware_Accelerated_Execution_Manager' 在不一致的位置'C :\Users\Lenovo\AppData\Local\Android\Sdk\extras\intel\Hardware_Accelerated_Execution_Manager'(预期为 'C:\Users\Lenovo\AppData\Local\Android\extras\intel\Hardware_Accelerated_Execution_Manager')观察到的包 id 'patcher;v4'在不一致的位置 'C:\Users\Lenovo\AppData\Local\Android\Sdk\patcher\v4' (预期 'C:\Users\Lenovo\AppData\Local\Android\patcher\v4')观察到的包 id 'platform-工具'在不一致的位置'C:\Users\Lenovo\AppData\Local\Android\Sdk\platform-tools'(预期的'C:\Users\Lenovo\AppData\Local\Android\platform-tools')观察到的包ID'来源;android-29' 在不一致的位置 'C:\Users\Lenovo\AppData\Local\Android\Sdk\sources\android-29' (预期 'C:\Users\Lenovo\AppData\Local\Android\sources\android -29') 在不一致的位置 'C:\Users\Lenovo\AppData\Local\Android\Sdk\system-images\android-R\google_apis_playstore\x86' 中观察到包 id 'system-images;android-R;google_apis_playstore;x86'(预期'C:\Users\Lenovo\AppData\Local\Android\system-images\android-R\google_apis_playstore\x86') 在不一致的位置 'C:\Users\Lenovo\AppData\Local\Android\ Sdk\tools'(预期为'C:\Users\Lenovo\AppData\Local\Android\tools')在 C:\Users\Lenovo\AppData\Local\Android\licenses 中检查包 Android SDK Platform 29 的许可证警告:许可证对于包 Android SDK 平台 29 不被接受。\Users\Lenovo\AppData\Local\Android\Sdk\system-images\android-R\google_apis_playstore\x86'(预期为 'C:\Users\Lenovo\AppData\Local\Android\system-images\android-R\google_apis_playstore \x86')在不一致的位置 'C:\Users\Lenovo\AppData\Local\Android\Sdk\tools' 中观察到包 id 'tools'(预期为 'C:\Users\Lenovo\AppData\Local\Android\tools')在 C:\Users\Lenovo\AppData\Local\Android\licenses 检查包 Android SDK Platform 29 的许可证警告:不接受包 Android SDK Platform 29 的许可证。\Users\Lenovo\AppData\Local\Android\Sdk\system-images\android-R\google_apis_playstore\x86'(预期为 'C:\Users\Lenovo\AppData\Local\Android\system-images\android-R\google_apis_playstore \x86')在不一致的位置 'C:\Users\Lenovo\AppData\Local\Android\Sdk\tools' 中观察到包 id 'tools'(预期为 'C:\Users\Lenovo\AppData\Local\Android\tools')在 C:\Users\Lenovo\AppData\Local\Android\licenses 检查包 Android SDK Platform 29 的许可证警告:不接受包 Android SDK Platform 29 的许可证。) 在 C:\Users\Lenovo\AppData\Local\Android\licenses 检查包 Android SDK Platform 29 的许可证警告:不接受包 Android SDK Platform 29 的许可证。) 在 C:\Users\Lenovo\AppData\Local\Android\licenses 检查包 Android SDK Platform 29 的许可证警告:不接受包 Android SDK Platform 29 的许可证。
FAILURE:构建失败并出现异常。
- 出了什么问题:无法确定任务':app:compileDebugJavaWithJavac'的依赖关系。
未能安装以下 Android SDK 软件包,因为某些许可证尚未被接受。platform;android-29 Android SDK Platform 29 要构建这个项目,请接受 SDK 许可协议并使用 Android Studio SDK Manager 安装缺少的组件。或者,要将许可协议从一个工作站转移到另一个工作站,请参阅http://d.android.com/r/studio-ui/export-licenses.html
使用 Android SDK:C:\Users\Lenovo\AppData\Local\Android
尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。
在https://help.gradle.org获得更多帮助
BUILD FAILED in 17s Command failed with exit code 1: D:\test\project\crud-app\ionic app\ionic-test\riagitanjali\platforms\android\gradlew cdvBuildDebug -b D:\test\project\crud-app\ ionic app\ionic-test\riagitanjali\platforms\android\build.gradle [错误] 运行子进程cordova时出错。
cordova.cmd build android exited with exit code 1.
Re-running this command with the --verbose flag may provide more information.
D:\test\project\crud-app\ionic app\ionic-test\riagitanjali>
解决方案
您必须接受 Android SDK 的许可。
打开 CMD 并运行命令:
cd /d "%ANDROID_SDK_ROOT%/tools/bin"
然后运行:
sdkmanager --licenses
并在每一步按 Y 接受许可。
推荐阅读
- python - 所有回调完成后如何运行任务
- javascript - “解析错误:意外的令牌 => eslint”
- javascript - 提取表示为字符串的数组
- react-native - 当 lottie 文件在屏幕上时,TouchableOpacity 不起作用
- javascript - 我的刷新适用于图形但不适用于桌面
- firebase - 分组集合和内部集合的安全规则
- powershell - 使用 powershell 调用多个 Web 服务时重复值
- python-3.x - 如何找到人脸图像中旋转了多少角度?
- azure-logic-apps - 在 Azure Function Runtime 上使用 Logic App Standard 触发执行警告
- azure - 使用 Rest API 在 Azure Logic App 中启用 Log Analytics 的工作流部署