ionic3+我的ionic

android报错:ERROR: In <declare-

2018-05-29  本文已影响320人  IT晴天

一段时间没做ionic,遇到过的一些问题处理完就是了,没有记录,结果别人问到一时想不起,有空还是要记录下。

问题出现

安装了cordova-plugin-file-opener2插件后build出现,移除该插件后build正常。

原理

对于这个问题,可以看下此文:
https://github.com/mauron85/react-native-background-geolocation/issues/116

虽说是react-native的(尴尬脸),但殊途同归,关键词就是更新下android-suport包,由

com.android.support:support-v4:+

替换为以下类似版本:

com.android.support:support-v4:26.+

其中26这个版本号和compileSdkVersion中尽量保持一致。

实际排查

先考虑用android studio调试,是为了应对可能出现的error,在IDE的提示下能方便修改。

打开根目录下的build.gradle文件,修改相应内容为:

compile 'com.android.support:support-v4:26.+'

此时build可能会报错:

Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.

应该是gradle的版本问题,'compile' 关键字已经废弃了,用'implementation' 和 'api'代替,所以调整为:

implementation 'com.android.support:support-v4:26.+'

再次build,提示成功:


image.png

打开android项目中的project.properties文件,见到如下内容:

target=android-26
android.library.reference.1=CordovaLib
cordova.system.library.1=com.android.support:support-v4:+

看到target是26,所以support包改为一致:

target=android-26
android.library.reference.1=CordovaLib
cordova.system.library.1=com.android.support:support-v4:26.+

然后再执行build命令:

ionic cordova build android

成功build如下:


image.png

当前只遇到这种情况,所以处理到此,如果遇到其它情况再做调试。

注1:网上有文章说在项目根目录下的gradle.properties文件(如果没有,新建)中添加以下配置:
android.enableAapt2=false
但实际上用发现此方法过期了,反而会报错。

注2:只提供解决方案,但不保证完全适用。如果没有解决,尝试把compileSdkVersionbuildToolsVersion更新到较新版本,且保持一致。

上一篇下一篇

猜你喜欢

热点阅读