Как предотвратить автоматическую генерацию Android.mk с новым экспериментальным плагином Gradle

Я пытаюсь построить проект NDK с новым экспериментальным плагином Gradle, но похоже, что Gradle игнорирует Android.mk и начинает компилировать все, не обращая внимания на то, что написано в Android.mk, я знаю о новом синтаксисе, и я прочитайте следующее руководство пользователя Experimental Plugin, также я попробовал следующий синтаксис:

    android.sources {
    main {
        jni {
            source {
                srcDirs = []
            }
        }
    }
}

но он по-прежнему игнорирует файл Android.mk. Я использую:

  • Android Studio 1.3.1 стабильная
  • Gradle 2.5 с экспериментальным плагином 0.2.0

Кто-нибудь может посоветовать это?

2 ответа

Решение

Если вы установите

android.sources{
    main.jni {
        source {
            srcDirs = ['src/main/none'] // [] could be set instead but will disable even symbol resolution inside the editor
        }
    }
    main.jniLibs {
        source {
            srcDirs = ['src/main/libs']
        }
    }
}

Android Studio не будет пытаться создавать ваши исходники, и будет интегрировать ваши.so файлы, которые находятся внутри src/main/libs/<abi>/

Это означает, что вы можете позвонить ndk-build себя, и ваши Makefiles не будут игнорироваться.

Попробуйте поставить:

 android.useDeprecatedNdk=true

Внутри вашего gradle.properties файл.

Затем вы сможете использовать синтаксис, который вы указали в своем вопросе.

Другие вопросы по тегам