美文网首页ionic3+我的ionic
android报错:ERROR: In <declare-

android报错:ERROR: In <declare-

作者: IT晴天 | 来源:发表于2018-05-29 11:36 被阅读320次

    一段时间没做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调试

    先考虑用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更新到较新版本,且保持一致。

    相关文章

      网友评论

        本文标题:android报错:ERROR: In <declare-

        本文链接:https://www.haomeiwen.com/subject/zbbojftx.html