请有人帮助我,我被困在这里。
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "28.0.3"
defaultConfig {
applicationId "com.glitchrun.sapphire"
minSdkVersion 14
targetSdkVersion 26
externalNativeBuild {
ndkBuild {
path "$projectDir/jni/Android.mk"
}
}
externalNativeBuild {
ndkBuild {
arguments "NDK_APPLICATION_MK:=$projectDir/jni/Application.mk"
abiFilters "armeabi-v7a", "armeabi", "arm64-v8a", "x86"
cppFlags "-frtti -fexceptions"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.google.android.gms:play-services:+'
compile files('libs/dagger-1.2.2.jar')
compile files('libs/javax.inject-1.jar')
compile files('libs/nineoldandroids-2.4.0.jar')
compile files('libs/support-v4-19.0.1.jar')
}
这是我的错误,我不知道该怎么办。
Could not find method path() for arguments [C:\Users\costy\AndroidStudioProjects\android\app/jni/Android.mk] on object of type com.android.build.gradle.internal.dsl.ExternalNativeNdkBuildOptions.
我正在尝试导出.apk文件,而卡在了不推荐使用的NDK问题中。现在我陷入了这个问题。
答案 0 :(得分:0)
指定makefile路径的externalNativeBuild
块不应是defaultConfig
父级的一部分,而应是android
的父级:
android {
compileSdkVersion 26
// etc...
defaultConfig {
applicationId "com.glitchrun.sapphire"
// etc...
externalNativeBuild {
ndkBuild {
arguments "NDK_APPLICATION_MK:=$projectDir/jni/Application.mk"
abiFilters "armeabi-v7a", "armeabi", "arm64-v8a", "x86"
cppFlags "-frtti -fexceptions"
}
}
}
// etc...
externalNativeBuild {
ndkBuild {
path "$projectDir/jni/Android.mk"
}
}
}
内部的一个用于修改ExternalNativeBuildNdkOptions
,而外部的一个用于修改NdkBuildOptions
。