美文网首页
Android Strdio从2.3.3升级到3.0.0的坑

Android Strdio从2.3.3升级到3.0.0的坑

作者: Blue_L | 来源:发表于2017-11-26 22:46 被阅读0次
    问题

    AS升级到3.0.0后,jni中文件包含有类似 #include <string> 指令时,报cannot find string

    解决

    原 gradle

    android {
        publishNonDefault true
        compileSdkVersion 26
        buildToolsVersion '26.0.2'
    
        defaultConfig {
            minSdkVersion 14
            targetSdkVersion 14
            versionName '4.1.0'
    
            externalNativeBuild {
                ndkBuild {
                    abiFilters 'armeabi', 'armeabi-v7a', 'x86', 'x86_64', 'arm64-v8a'
                    cppFlags '-std=c++11'
                }
            }
    ...
    

    新 gradle

    android {
        publishNonDefault true                                                        <-remove
        compileSdkVersion 26
        buildToolsVersion '26.0.2'
    
        defaultConfig {
            minSdkVersion 14
            targetSdkVersion 14
            versionName '4.1.0'
    
            externalNativeBuild {
                ndkBuild {
                    abiFilters 'armeabi', 'armeabi-v7a', 'x86', 'x86_64', 'arm64-v8a' <-remove
                    cppFlags '-std=c++11'                                             <-remove
                }
            }
    ...
    
    原因

    由于gradle4.1在gradle中导入的语法由

    debugCompile project(path: ':xxx', configuration: 'debug')
    releaseCompile project(path: ':xxx', configuration: 'release')
    

    更新为

    implementation project(path: ':xxx')
    

    因此不再需要使用 publishNonDefault true 指定打包版本

    相关文章

      网友评论

          本文标题:Android Strdio从2.3.3升级到3.0.0的坑

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