Ionic Cordova 对新的 Android Bundle 构建感到困惑
Posted
技术标签:
【中文标题】Ionic Cordova 对新的 Android Bundle 构建感到困惑【英文标题】:Ionic Cordova Confused With The New Bundle Building For Android 【发布时间】:2021-10-14 00:16:18 【问题描述】:您向 Google 提交应用的方式发生了变化,这让我大吃一惊。你现在必须提交一个我试图用 ./gradlew bundle 生成的包,但我总是在下面遇到令人困惑的错误:
* What went wrong:
评估项目 ':app' 时出现问题。
尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。 ==================================================== ==============================未找到已安装的构建工具。安装 android 构建工具 19.1.0 或更高版本。
2:任务因异常而失败。
出了什么问题: 配置项目“:app”时出现问题。compileSdkVersion 未指定。请将其添加到 build.gradle
第一个问题令人困惑,因为我安装了构建工具,路径输出是这样的:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:~/Library/Android/sdk/tools:~/Library/Android/sdk/platform-tools
哪个是sdk的正确位置。
我根本没有遵循的第二个错误,在我的 config.xml 中有这个:
然后我 ionic cordova 在运行 gradlew 命令之前构建 android --prod --release。我还查看了 build.gradle 文件,发现如下:
allprojects
apply from: 'repositories.gradle'
repositories repos
//This replaces project.properties w.r.t. build settings
project.ext
defaultCompileSdkVersion=29
defaultBuildToolsVersion="29.0.2" //String
defaultMinSdkVersion=22 //Integer - Minimum requirement is Android 5.1
defaultTargetSdkVersion=29 //Integer - We ALWAYS target the latest by default
defaultCompileSdkVersion=29 //Integer - We ALWAYS compile with the latest by default
所以它告诉它默认为所有项目使用 compile sdk version 29。如果我添加以下内容然后运行 gradlew:
android
compileSdkVersion=29
我在运行 gradlew 时遇到以下问题:
Could not find method android() for arguments [build_86qvliu728ivbijvz823o6ru1$_run_closure2@2ba919e2] on root project 'android' of type org.gradle.api.Project.
我完全失去了!
【问题讨论】:
【参考方案1】:Android SDK 构建工具位于Android/sdk/build-tools
。
所以我首先建议的是,请检查您是否在环境变量中添加了ANDROID_SDK_ROOT
。它必须引用您的 Android SDK 位置 (../Android/sdk)
【讨论】:
以上是关于Ionic Cordova 对新的 Android Bundle 构建感到困惑的主要内容,如果未能解决你的问题,请参考以下文章
Cordova (Ionic) : Splashscreen 只能在 Android 上运行一次
如何使用 Ionic\Cordova 在 android 中设置图标和启动画面
cordova-plugin-ionic-webview - 自定义方案不适用于 Android