Ionic Cordova 7.1.4 Android 构建失败
Posted
技术标签:
【中文标题】Ionic Cordova 7.1.4 Android 构建失败【英文标题】:Ionic Cordova 7.1.4 Android Build Failing 【发布时间】:2019-06-01 11:48:42 【问题描述】:我刚刚创建了一个简单的 ionic cordova 项目,添加了一些插件。当我跑步时 离子科尔多瓦构建android
我收到以下构建错误:
FAILURE:构建失败并出现异常。
出了什么问题: 任务 ':app:processDebugManifest' 执行失败。
清单合并失败:uses-sdk:minSdkVersion 16 不能小于库 [:CordovaLib] C:\Users\Ralph Marvin\Desktop\Marvix\Apps\Ionic\Chapel\platforms\android\CordovaLib\ 中声明的版本 19 build\intermediates\manifests\full\debug\AndroidManifest.xml,因为该库可能正在使用 16 中不可用的 API 建议:使用 minSdk 最多为 16 的兼容库, 或将此项目的 minSdk 版本增加到至少 19, 或者使用 tools:overrideLibrary="org.apache.cordova" 强制使用(可能会导致运行时失败)
尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。
通过https://help.gradle.org获得更多帮助
在 32 秒内构建失败 cmd:命令失败,退出代码 1 错误输出: C:\Users\Ralph Marvin\Desktop\Marvix\Apps\Ionic\Chapel\platforms\android\app\src\main\AndroidManifest.xml:36:5-74 错误: uses-sdk:minSdkVersion 16 不能小于库 [:CordovaLib] C:\Users\Ralph Marvin\Desktop\Marvix\Apps\Ionic\Chapel\platforms\android\CordovaLib\build\intermediates\manifests\full 中声明的版本 19 \debug\AndroidManifest.xml 作为库可能正在使用 16 中不可用的 API 建议:使用 minSdk 最多为 16 的兼容库, 或将此项目的 minSdk 版本增加到至少 19, 或者使用 tools:overrideLibrary="org.apache.cordova" 强制使用(可能会导致运行时失败)
FAILURE:构建失败并出现异常。
出了什么问题: 任务 ':app:processDebugManifest' 执行失败。
清单合并失败:uses-sdk:minSdkVersion 16 不能小于库 [:CordovaLib] C:\Users\Ralph Marvin\Desktop\Marvix\Apps\Ionic\Chapel\platforms\android\CordovaLib\ 中声明的版本 19 build\intermediates\manifests\full\debug\AndroidManifest.xml,因为该库可能正在使用 16 中不可用的 API 建议:使用 minSdk 最多为 16 的兼容库, 或将此项目的 minSdk 版本增加到至少 19, 或者使用 tools:overrideLibrary="org.apache.cordova" 强制使用(可能会导致运行时失败)
尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。
通过https://help.gradle.org获得更多帮助
我的 config.xml 中有 ff:
<preference name="android-minSdkVersion" value="19" />
<plugin name="cordova-plugin-whitelist" spec="1.3.3" />
<plugin name="cordova-plugin-splashscreen" spec="5.0.2" />
<plugin name="cordova-plugin-ionic-webview" spec="^2.0.0" />
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.0.5" />
<plugin name="cordova-plugin-app-update" spec="2.0.2" />
<plugin name="cordova-plugin-background-mode" spec="0.7.2" />
<plugin name="cordova-plugin-badge" spec="0.8.8" />
<plugin name="cordova-plugin-browsertab" spec="0.2.0" />
<plugin name="cordova-plugin-camera" spec="4.0.3" />
<plugin name="cordova-plugin-crop" spec="0.4.0" />
<plugin name="cordova-plugin-file" spec="6.0.1" />
<plugin name="cordova-plugin-filechooser" spec="1.2.0" />
<plugin name="cordova-plugin-filepath" spec="1.4.2" />
<plugin name="cordova-plugin-file-transfer" spec="1.7.1" />
<plugin name="cordova-plugin-headercolor" spec="1.0.0" />
<plugin name="cordova-plugin-inappbrowser" spec="3.0.0" />
<plugin name="cordova-plugin-local-notification" spec="0.9.0-beta.2" />
<plugin name="cordova-plugin-media" spec="5.0.2" />
<plugin name="cordova-plugin-media-capture" spec="3.0.2" />
<plugin name="cordova-plugin-network-information" spec="2.0.1" />
<plugin name="cordova-plugin-music-controls" spec="2.2.0" />
<plugin name="cordova-plugin-x-socialsharing" spec="5.4.3">
<variable name="ANDROID_SUPPORT_V4_VERSION" value="24.1.1+" />
</plugin>
<plugin name="cordova-sqlite-storage" spec="2.6.0" />
<plugin name="cordova-plugin-statusbar" spec="^2.4.2" />
<plugin name="cordova-plugin-device" spec="^2.0.2" />
<engine name="android" spec="7.1.4" />
我的 build.gradle 中也有这个
project.configurations.all
resolutionStrategy.eachDependency details ->
if (details.requested.group == 'com.android.support' && !details.requested.name.contains('multidex') )
details.useVersion "25.0.0"
请帮我解决这个问题,已经两天了,我已经完成了所有我能做的谷歌搜索。
【问题讨论】:
不是一个真正的答案,只是一个建议,我认为你的一个插件声明了 minSdkVersion 16,它与正在使用的 sdk 不兼容。通常,当我遇到构建错误时,我要做的第一件事是确定是哪个插件导致了问题,为此您可以在另一个目录中签出您的项目,删除所有内容(android 平台和插件),重新添加平台和插件一一检查是否构建成功。但在此之前,您可以搜索是否在您的插件之一中找到“uses-sdk:minSdkVersion”。 【参考方案1】:好像sdk版本不兼容。
您必须将您的 config.xml
从这个 <preference name="android-minSdkVersion" value="16" />
更新为 <preference name="android-minSdkVersion" value="19" />
然后删除您的平台并重新添加
cordova platform remove android
cordova platform add android
【讨论】:
【参考方案2】:我也在努力解决这个问题,我发现@Sergio Rinaudo 的评论是最后的手段。从那时起,我删除了所有插件(从文件夹以及 config.xml 和 package.json 中),删除了平台并再次添加,然后开始添加插件。我的罪魁祸首(可能是你的,因为你有插件)是:
<plugin name="cordova-plugin-browsertab" spec="0.2.0" />
然后,我找到了this,然后可以在 plugins/cordova-plugin-browsertab/src/android/BrowserTab.gradle 下编辑版本。在此之后,我肯定会:
移除平台:
cordova platform rm android
使用此版本再次添加:
cordova platform add android@7.1.4
这不是最佳解决方案,而是解决方法。
【讨论】:
以上是关于Ionic Cordova 7.1.4 Android 构建失败的主要内容,如果未能解决你的问题,请参考以下文章
安装 facebook-connect 插件后 Ionic 构建失败
Cordova笔记三:ionic+angular+cordova技术栈