Включить библиотеку .so в apk в андроид студии [дубликаты]
На этот вопрос уже есть ответ:
Android-студия, Gradle и NDK 23 ответа Я пытаюсь разработать простое приложение для Android, в котором я пытаюсь использовать Sqlcipher, который использует библиотеки .so для внутреннего использования. Я прочитал документацию на Как использовать sqlcipher с приложением для Android. Я следовал за шагами, и он компилируется без ошибок. Но во время выполнения это бросаетUnsatisfiedLinkError
.
Присмотревшись, я нашел это,gradle пока не поддерживает .so библиотеки но я нашел взломВо который я пытаюсь использовать. Но он выдает ошибку времени компиляции в строке # 40 по сути,
tasks.withType(com.android.build.gradle.PackageApplicationTask) { pkgTask ->
pkgTask.jniDir new File(buildDir, 'native-libs')
}
Говоря
Не удалось найти свойство 'com' в проекте 'MyProject'
Здесь я выкладываю код из моего файла build.gradle.
buildscript {
repositories {
maven { url 'http://repo1.maven.org/maven2' }
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'
dependencies {
compile files('libs/android-support-v4.jar')
compile files('libs/commons-codec.jar')
compile files('libs/guava-r09.jar')
compile files('libs/sqlcipher.jar')
}
targetCompatibility = 1.6
sourceCompatibility = 1.6
android {
target = 'android-14'
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 16
}
}
task copyNativeLibs(type: Copy) {
from(new File(project(':MyProject').buildDir, 'native-libs')) { include '**/*.so' }
into new File(buildDir, 'native-libs')
}
tasks.withType(Compile) { compileTask -> compileTask.dependsOn copyNativeLibs }
clean.dependsOn 'cleanCopyNativeLibs'
tasks.withType(com.android.build.gradle.PackageApplicationTask) { pkgTask ->
pkgTask.jniDir new File(buildDir, 'native-libs')
}
Может кто-нибудь, пожалуйста, помогите мне в том, что я сделал неправильно или что я должен сделать, чтобы включить эти .so библиотеки в мой apk?
Поскольку я новичок в разработке android и прошу прощения, прошу прощения, если я что-то не так понял.