Модуль Android (я создал локально) System.loadlibrary не может найти .so файл - PullRequest
0 голосов
/ 27 марта 2019

Спасибо за просмотр моего вопроса. У меня есть локально созданный модуль (testModule), который был импортирован в мой проект (testProject), и у testModule есть java-файл, для которого необходимо вызвать файл System.loadLibrary ("abc.so"), но он потерпел крах по причине, которую не удалось найти. the abc.so.

Что я сделал:

  1. Добавьте «jniLibs / armeabi / libabc.so» в основную папку testModule; нет использовать.
  2. Добавьте "jniLibs / armeabi / libabc.so" в основную часть testProject. папки; бесполезно.
  3. Модуль testModule использует это имя пакета: "com / test / module /"
  4. TestProject использует это имя пакета: "com / test / app"

Вот build.gradle для тестового модуля

apply plugin: 'com.android.library'
apply plugin: 'com.jakewharton.butterknife'

android {
    compileSdkVersion 26

    defaultConfig {
        minSdkVersion 18
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    api fileTree(include: ['*.jar'], dir: 'src/main/jniLibs')
    api 'com.android.support:appcompat-v7:26.0.2'
    api 'com.android.support:recyclerview-v7:26.0.2'
}

А вот build.gradle для моего приложения:

apply plugin: 'com.android.application'
apply plugin: 'com.jakewharton.butterknife'
apply plugin: 'realm-android'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.test.app"
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 3
        versionName "1.0.3"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    api fileTree(include: ['*.jar'], dir: 'src/main/jniLibs')
    implementation 'de.hdodenhof:circleimageview:2.1.0'
    implementation project(':testModule')
}

apply plugin: 'com.google.gms.google-services'

EDIT: Наконец я выясняю причину. У меня есть папка с именем libs в testProject, и после того, как я ее удалил, все работает.

...