Не удалось найти метод path () для аргументов - PullRequest
0 голосов
/ 14 января 2019

Пожалуйста, кто-нибудь, помогите мне, я застрял здесь.

apply plugin: 'com.android.application'

андроида {

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. Теперь я застрял с этой проблемой.

1 Ответ

0 голосов
/ 14 января 2019

Блок externalNativeBuild, который указывает путь к make-файлу, должен быть не частью 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.

...