2

像上面一样,我的 build.gradle 文件无法同步,因为它在源集“main”上找不到属性“jni”。我正在使用 gradle-experimental:0.7.0。我不想在编译中使用 Android.mk 文件,但我无法设置 srcDirs = []。我的 build.gradle:

model {
android {
    def globalConfiguration = rootProject.extensions.getByName("ext")

    compileSdkVersion = globalConfiguration.getAt("androidCompileSdkVersion")
    buildToolsVersion = globalConfiguration.getAt("androidBuildToolsVersion")

    defaultConfig {
        applicationId "com.example.ndk"
        minSdkVersion.apiLevel globalConfiguration.getAt("androidMinSdkVersion")
        targetSdkVersion.apiLevel globalConfiguration.getAt("androidTargetSdkVersion")
        versionCode globalConfiguration.getAt("androidVersionCode")
        versionName globalConfiguration.getAt("androidVersionName")
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles.add(file('proguard-android.txt'))
//            signingConfig signingConfigs.release
        }
    }

    sourceSets {
        def commonTestDir = 'src/commonTest/java'
        test {
            java.srcDir commonTestDir
        }
        androidTest {
            java.srcDir commonTestDir
        }
        main {
            jni.srcDirs = []
        }
    }
}

 android.ndk {
     moduleName = 'mymodule'
 }
}
4

1 回答 1

0

看看插件Experimental Plugin User Guide,根据它,要指定源目录,你必须这样做:

model {
    android {
        ...

        sources {
            main {
                jni {
                    source {
                        srcDir "src"
                    }
                }
            }
        }
    }
}

这不是你做的方式。看一下,这里是sources使用的属性,但不是sourceSets

于 2016-05-19T07:56:17.233 回答