Библиотека, не установленная со сборкой, делает Android Studio, но работает с CMAKE-GUI - PullRequest
0 голосов
/ 23 ноября 2018

Информация о системе:

Android Studio 3.2.1
Linux Ubuntu 16.04

Введение


Недавно я наткнулся напроблема с моей IDE (Android Studio).Я использую его для разработки Native / Java-приложения вместе с Gradle и CMakeLists.

Я использую несколько CMakeLists для экспорта некоторых функций в C / C ++ для использования с моим приложением.

Так что эти Cmakelists будутсоздайте некоторую библиотеку, которую можно использовать.

Задача


Когда я «создаю» свой проект, он будет успешно построен, но библиотека не изменится, изменена она или нет.

После этого я подумал, что мне может понадобиться «Очистить мой проект», прежде чем это сделать, но ничего хорошего не произошло.

Вы можете увидеть мой build.gradleпод постом.

Пробное решение


Обходной путь, который я нашел, состоит в том, чтобы скомпилировать каждую библиотеку с CMAKE-GUI, а затем скомпилировать мой проект Android, чтобы увидеть модификациюсделанный ранее.

Я думаю, это плохо и ненормально.

Помощь


Я хочу знать, почему мой проект снова не делает мою библиотеку и "установите его в соответствующую папку.

Это ненужнопопробуйте показать мои CMakeLists, потому что он работает на CLion с Linux и Windows с Visual Studio.

Build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    buildToolsVersion '28.0.3'
    defaultConfig {
        applicationId "com.media.[NAME_OF_MY_PROJET]"
        minSdkVersion 24
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        ndk { abiFilters "armeabi-v7a" }
        externalNativeBuild {
            cmake {
                cppFlags "-O3  -fno-stack-protector -fintegrated-as "

                arguments "-DANDROID_ABI=armeabi-v7a", "-DANDROID_TOOLCHAIN=clang",
                        "-DANDROID_NATIVE_API_LEVEL=24", "-DANDROID_NDK=/Android/Sdk/ndk-bundle",
                        "-DANDROID_STL=c++_static", "-DANDROID_SDK_ROOT=/Android/Sdk/"
            }
        }
    }
    buildTypes {
          /*  customDebugType {
                debuggable true
            } */
            debug {
                jniDebuggable true
            }
       /* release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }*/
    }
    externalNativeBuild {
        cmake {
            path "../CMakeLists.txt"
        }
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
}
...