Android Studio 2.2 представляет внешнюю систему сборки cmake. Проблема в том, что документация действительно отсутствует, и я не знаю, как мне связать сторонние библиотеки? Я попытался директива CMake target_link_libraries:Как вы связываете стороннюю библиотеку в системе внешнего сборщика Android cmake?
target_link_libraries(native-lib libs/libSomething.so)
И это «работает» в том, что приложение компилируется, но затем я получаю dlopen ошибки во время выполнения, поскольку libSomething.so не был упакован с приложением. Каталог ЛИЭСА находится под «приложением», если это меняет что-нибудь, и я начал с проектом по умолчанию JNI генерируемого Android Studio 2.2 ...
[Update]
Я попытался положить libSomething.so под приложением/src/main/jniLibs/armeabi-v7a, но теперь основная библиотека (native-lib) не упакована.
[Update2]
Я добавил источник набор конфигурации, который включает выходной CMake реж и это работает, но это некрасиво, как ад, и на самом деле не окончательное решение ...
sourceSet
{
main
{
jniLibs.srcDirs = [ "libs", ".externalNativeBuild/cmake/debug/obj"]
}
}