gpt4 book ai didi

Android Studio 1.3 gradle 插件在源集中定义 jni 和 jniLibs 时返回错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:12:35 26 4
gpt4 key购买 nike

找不到属性 jni 和源集“main”

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

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

defaultConfig.with {
applicationId = "com.example.native_activity"
minSdkVersion.apiLevel = 9
targetSdkVersion.apiLevel = 9
}

sourceSets.main {
jni.srcDirs = [] // This prevents the auto generation of Android.mk
jniLibs.srcDir = 'src/main/libs'
// This is not necessary unless you have precompiled libraries in your project.
}
}

这是堆栈跟踪:

Caused by: org.gradle.model.internal.core.ModelRuleExecutionException: Exception thrown while executing model rule: model.android
at org.gradle.model.internal.registry.DefaultModelRegistry.fireMutation(DefaultModelRegistry.java:485)
at org.gradle.model.internal.registry.DefaultModelRegistry.access$1500(DefaultModelRegistry.java:45)
at org.gradle.model.internal.registry.DefaultModelRegistry$RunModelAction.apply(DefaultModelRegistry.java:1464)
at org.gradle.model.internal.registry.DefaultModelRegistry.transitionTo(DefaultModelRegistry.java:341)
at org.gradle.model.internal.registry.DefaultModelRegistry.transition(DefaultModelRegistry.java:419)
at org.gradle.model.internal.registry.DefaultModelRegistry.atStateOrMaybeLater(DefaultModelRegistry.java:183)
at org.gradle.model.internal.registry.DefaultModelRegistry.atStateOrLater(DefaultModelRegistry.java:175)
at org.gradle.execution.TaskNameResolver.selfClose(TaskNameResolver.java:101)
at org.gradle.execution.TaskNameResolver.selfClosedTasksNode(TaskNameResolver.java:114)
... 60 more
Caused by: org.gradle.api.internal.MissingMethodException: Could not find method main() for arguments [build_f1cmjkxjjzysskbrs6852ixyj$_run_closure1_closure2_closure7@8c09fa7] on SourceSet container.

在过去的 2 个小时里,我疯狂地搜索了......

最佳答案

正如 Awanish 所说 - 阅读 Experimental Plugin User Guide一步一步地非常仔细。如需更多许可,请检查 ndk-samples 中的 build.gradle 文件由谷歌提供。

sourceSets.main { } 具有不同的语法,应该在 android { } block 之外。在您的情况下,它应该看起来像这样:

model {

android {
//...
}

android.sources {
main {
jniLibs {
source {
srcDirs 'libs'
}
}
}
}

}

关于Android Studio 1.3 gradle 插件在源集中定义 jni 和 jniLibs 时返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31507891/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com