【问题标题】:Android Studio: New gradle build NDK sample app errorAndroid Studio:新的 gradle 构建 NDK 示例应用程序错误
【发布时间】:2015-07-25 11:12:13
【问题描述】:

我从https://github.com/googlesamples/android-ndk 构建示例项目MoreTeapots 并得到错误

信息:Gradle 任务 [:app:assembleAllDebug] :app:copyArm64-v8aDebugAllMoreTeapotsNativeActivitySharedLibraryGdbServer :app:createArm64-v8aDebugAllMoreTeapotsNativeActivitySharedLibraryGdbsetup :app:compileArm64-v8aDebugAllMoreTeapotsNativeActivitySharedLibraryMoreTeapotsNativeActivityMainC :app:compileArm64-v8aDebugAllMoreTeapotsNativeActivitySharedLibraryMoreTeapotsNativeActivityMainCpp :app:linkArm64-v8aDebugAllMoreTeapotsNativeActivitySharedLibrary :app:stripSymbolsArm64-v8aDebugAllMoreTeapotsNativeActivitySharedLibrary :app:arm64-v8aDebugAllMoreTeapotsNativeActivitySharedLibrary :app:copyArmeabi-v7aDebugAllMoreTeapotsNativeActivitySharedLibraryGdbServer :app:createArmeabi-v7aDebugAllMoreTeapotsNativeActivitySharedLibraryGdbsetup :app:compileArmeabi-v7aDebugAllMoreTeapotsNativeActivitySharedLibraryMoreTeapotsNativeActivityMainC :app:compileArmeabi-v7aDebugAllMoreTeapotsNativeActivitySharedLibraryMoreTeapotsNativeActivityMainCpp :app:linkArmeabi-v7aDebugAllMoreTeapotsNativeActivitySharedLibrary :app:stripSymbolsArmeabi-v7aDebugAllMoreTeapotsNativeActivitySharedLibrary :app:armeabi-v7aDebugAllMoreTeapotsNativeActivitySharedLibrary :app:copyArmeabiDebugAllMoreTeapotsNativeActivitySharedLibraryGdbServer :app:createArmeabiDebugAllMoreTeapotsNativeActivitySharedLibraryGdbsetup :app:compileArmeabiDebugAllMoreTeapotsNativeActivitySharedLibraryMoreTeapotsNativeActivityMainC :app:compileArmeabiDebugAllMoreTeapotsNativeActivitySharedLibraryMoreTeapotsNativeActivityMainCpp :app:linkArmeabiDebugAllMoreTeapotsNativeActivitySharedLibrary :app:stripSymbolsArmeabiDebugAllMoreTeapotsNativeActivitySharedLibrary :app:armeabiDebugAllMoreTeapotsNativeActivitySharedLibrary :app:preBuild UP-TO-DATE :app:preAllDebugBuild UP-TO-DATE :app:checkAllDebugManifest :app:prepareAllDebugDependencies :app:compileAllDebugAidl 最新 :app:compileAllDebugRenderscript 最新 :app:generateAllDebugBuildConfig 最新 :app:generateAllDebugAssets 最新 :app:mergeAllDebugAssets 最新 :app:generateAllDebugResValues 最新 :app:generateAllDebugResources 最新 :app:mergeAllDebugResources 最新 :app:processAllDebugManifest 最新 :app:processAllDebugResources 最新 :app:generateAllDebugSources 最新 :app:processAllDebugJavaRes 最新 :app:compileAllDebugJavaWithJavac 注意:C:\Users\Cuong\Downloads\MoreTeapots\app\src\main\java\com\sample\moreteapots\MoreTeapotsNativeActivity.java 使用或覆盖已弃用的 API。 注意:使用 -Xlint:deprecation 重新编译以获取详细信息。 :app:copyMips64DebugAllMoreTeapotsNativeActivitySharedLibraryGdbServer :app:createMips64DebugAllMoreTeapotsNativeActivitySharedLibraryGdbsetup :app:compileMips64DebugAllMoreTeapotsNativeActivitySharedLibraryMoreTeapotsNativeActivityMainC :app:compileMips64DebugAllMoreTeapotsNativeActivitySharedLibraryMoreTeapotsNativeActivityMainCpp :app:linkMips64DebugAllMoreTeapotsNativeActivitySharedLibrary :app:stripSymbolsMips64DebugAllMoreTeapotsNativeActivitySharedLibrary :app:mips64DebugAllMoreTeapotsNativeActivitySharedLibrary :app:copyMipsDebugAllMoreTeapotsNativeActivitySharedLibraryGdbServer :app:createMipsDebugAllMoreTeapotsNativeActivitySharedLibraryGdbsetup :app:compileMipsDebugAllMoreTeapotsNativeActivitySharedLibraryMoreTeapotsNativeActivityMainC :app:compileMipsDebugAllMoreTeapotsNativeActivitySharedLibraryMoreTeapotsNativeActivityMainCpp :app:linkMipsDebugAllMoreTeapotsNativeActivitySharedLibrary :app:stripSymbolsMipsDebugAllMoreTeapotsNativeActivitySharedLibrary :app:mipsDebugAllMoreTeapotsNativeActivitySharedLibrary :app:copyX86DebugAllMoreTeapotsNativeActivitySharedLibraryGdbServer :app:createX86DebugAllMoreTeapotsNativeActivitySharedLibraryGdbsetup :app:compileX86DebugAllMoreTeapotsNativeActivitySharedLibraryMoreTeapotsNativeActivityMainC :app:compileX86DebugAllMoreTeapotsNativeActivitySharedLibraryMoreTeapotsNativeActivityMainCpp :app:linkX86DebugAllMoreTeapotsNativeActivitySharedLibrary :app:stripSymbolsX86DebugAllMoreTeapotsNativeActivitySharedLibrary :app:x86DebugAllMoreTeapotsNativeActivitySharedLibrary :app:copyX86_64DebugAllMoreTeapotsNativeActivitySharedLibraryGdbServer :app:createX86_64DebugAllMoreTeapotsNativeActivitySharedLibraryGdbsetup :app:compileX86_64DebugAllMoreTeapotsNativeActivitySharedLibraryMoreTeapotsNativeActivityMainC :app:compileX86_64DebugAllMoreTeapotsNativeActivitySharedLibraryMoreTeapotsNativeActivityMainCpp :app:linkX86_64DebugAllMoreTeapotsNativeActivitySharedLibrary :app:stripSymbolsX86_64DebugAllMoreTeapotsNativeActivitySharedLibrary :app:x86_64DebugAllMoreTeapotsNativeActivitySharedLibrary :app:compileAllDebugSources :app:preDexAllDebug :app:dexAllDebug 意外的顶级异常: ...同时解析 com/sample/helper/NDKHelper.class 意外的顶级异常: ...同时解析 com/sample/moreteapots/BuildConfig.class 意外的顶级异常: ...同时解析 com/sample/moreteapots/MoreTeapotsApplication.class 意外的顶级异常: ...在解析 com/sample/moreteapots/MoreTeapotsNativeActivity$1.class 意外的顶级异常: ...同时解析 com/sample/moreteapots/MoreTeapotsNativeActivity$2.class 意外的顶级异常: ...同时解析 com/sample/moreteapots/MoreTeapotsNativeActivity$3.class 意外的顶级异常: ...在解析 com/sample/moreteapots/MoreTeapotsNativeActivity.class 意外的顶级异常: ...在解析 com/sample/moreteapots/R$attr.class 意外的顶级异常: ...同时解析 com/sample/moreteapots/R$drawable.class 意外的顶级异常: ...同时解析 com/sample/moreteapots/R$id.class 意外的顶级异常: ...同时解析 com/sample/moreteapots/R$layout.class 意外的顶级异常: ...同时解析 com/sample/moreteapots/R$string.class 意外的顶级异常: ...同时解析 com/sample/moreteapots/R$style.class 意外的顶级异常: ...同时解析 com/sample/moreteapots/R.class 14 个错误;中止 错误:任务“:app:dexAllDebug”执行失败。 com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_45\bin\java.exe'' 完成非零退出值 1 信息:构建失败 信息:总时间:4 分钟 1.033 秒 信息:1个错误 信息:0 个警告 信息:在控制台中查看完整的输出

这是指南http://tools.android.com/tech-docs/new-build-system/gradle-experimental。 它的app build.gradle

apply plugin: 'com.android.model.application'

model {
android {
    compileSdkVersion    = 22
    buildToolsVersion    ="22.0.1"

    defaultConfig.with {
        applicationId    = "com.sample.moreteapots"
        minSdkVersion.apiLevel    = 11
        targetSdkVersion.apiLevel = 22

    }
}
android.ndk {
    moduleName ="MoreTeapotsNativeActivity"
    cppFlags   += "-I${file("src/main/jni/cpufeatures")}".toString()
    cppFlags   += "-I${file("src/main/jni/native_app_glue")}".toString()
    cppFlags   += "-I${file("src/main/jni/ndk_helper")}".toString()

    // CFlags is configured in similiar way as cppFlags
    // CFlags    += "-I${file("src/main/jni/native_app_glue")}".toString()

    ldLibs     += ["android", "EGL", "GLESv2","log"]
    stl         = "stlport_static"
}

android.sources {
    main {
        jni {
            source {
                srcDirs 'src/main/jni'
            }
        }
    }
}

android.productFlavors {
    create ("arm7") {
        ndk.abiFilters += "armeabi-v7a"
    }
    create ("arm8") {
        ndk.abiFilters += "arm64-v8a"
    }
    create ("x86-32") {
        ndk.abiFilters += "x86"
    }
    // for detailed abiFilter descriptions, refer to "Supported ABIs" @
    // https://developer.android.com/ndk/guides/abis.html#sa
    // build one including all productFlavors
    create("all")
}

}

它的项目build.gradle

// Top-level build file where you can add configuration options common to      all sub-projects/modules.
buildscript {
repositories {
   maven {
     url  "http://dl.bintray.com/android/android-tools"
   }
   jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle-experimental:0.1.0'
}
}

allprojects {
repositories {
    jcenter()
}

}

它的 gradle-wrapper.properties

#Wed Apr 10 15:27:10 PDT 2013
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.5-rc-1-bin.zip

我该如何解决?谢谢。

更新:已解决。我加了

    compileOptions.with {
    sourceCompatibility = JavaVersion.VERSION_1_7
    targetCompatibility = JavaVersion.VERSION_1_7
}

到 app build.gradle 之类的

apply plugin: 'com.android.model.application'
model {
android {
    compileSdkVersion    = 22
    buildToolsVersion    ="22.0.1"

    defaultConfig.with {
        applicationId    = "com.sample.moreteapots"
        minSdkVersion.apiLevel    = 10
        targetSdkVersion.apiLevel = 22

    }
}
android.ndk {
    moduleName ="MoreTeapotsNativeActivity"
    cppFlags   += "-I${file("src/main/jni/cpufeatures")}".toString()
    cppFlags   += "-I${file("src/main/jni/native_app_glue")}".toString()
    cppFlags   += "-I${file("src/main/jni/ndk_helper")}".toString()

    // CFlags is configured in similiar way as cppFlags
    // CFlags    += "-I${file("src/main/jni/native_app_glue")}".toString()

    ldLibs     += ["android", "EGL", "GLESv2","log"]
    stl         = "stlport_static"
}

android.sources {
    main {
        jni {
            source {
                srcDirs 'src/main/jni'
            }
        }
    }
}

android.productFlavors {
    create ("arm7") {
        ndk.abiFilters += "armeabi-v7a"
    }
    create ("arm8") {
        ndk.abiFilters += "arm64-v8a"
    }
    create ("x86-32") {
        ndk.abiFilters += "x86"
    }
    // for detailed abiFilter descriptions, refer to "Supported ABIs" @
    // https://developer.android.com/ndk/guides/abis.html#sa
    // build one including all productFlavors
    create("all")
}
compileOptions.with {
    sourceCompatibility = JavaVersion.VERSION_1_7
    targetCompatibility = JavaVersion.VERSION_1_7
}

}

【问题讨论】:

    标签: android android-ndk


    【解决方案1】:

    试试这个

    tasks.withType(JavaCompile) {
        sourceCompatibility = JavaVersion.VERSION_1_7
        targetCompatibility = JavaVersion.VERSION_1_7
    }
    

    Bug 在这里提交https://code.google.com/p/android/issues/detail?id=179660

    编辑:将其附加到应用程序 build.gradle 文件的所有部分之外的末尾

    【讨论】:

    • 我用 compileOptions.with { sourceCompatibility = JavaVersion.VERSION_1_7 targetCompatibility = JavaVersion.VERSION_1_7 } 修复了它
    【解决方案2】:

    或者,可以在“应用插件:...”之后立即添加两行

    apply plugin: 'com.android.model.application'
    sourceCompatibility = JavaVersion.VERSION_1_7
    targetCompatibility = JavaVersion.VERSION_1_7
    

    【讨论】:

      猜你喜欢
      • 2016-01-19
      • 1970-01-01
      • 2021-02-09
      • 1970-01-01
      • 1970-01-01
      • 2018-04-05
      • 2014-02-21
      • 2015-05-10
      • 2013-06-12
      相关资源
      最近更新 更多