【发布时间】:2015-04-02 14:06:02
【问题描述】:
我需要做一件简单的事情:在项目中包含 .so。这是我现在拥有的:
# app/build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "my.app.123"
minSdkVersion 14
targetSdkVersion 22
versionCode 7113
versionName "7113"
}
productFlavors {
x86 {
ndk {
abiFilter "x86", "x86_64"
}
}
arm {
ndk {
abiFilters "armeabi-v7a", "armeabi"
}
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'io.pristine:libjingle:8871'
}
# build.gradle
all sub-projects/modules.
buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.0'
}
}
allprojects {
repositories {
jcenter()
mavenCentral()
}
}
我在 src/src/main/jniLibs 中有这些“so”文件:
/arm64-v8a/file1_so.so
/armeabi-v7a/file1_so.so
/x86/file1_so.so
/x86_64/file1_so.so
但是,当我启动我的应用程序时,我收到一个错误,这意味着该应用程序正在使用之前已经嵌入其中的“旧”so 文件。所以我不确定这些文件中的任何一个是否都被编译到结果 apk 中。
我应该怎么做才能确定将它们包含在输出 apk 中?
【问题讨论】:
-
你看到我的回答了吗?
-
@JaredBurrows,是的,但是我在看到它之前已经修复了它,我不记得确切的方法,但更简单。
-
你能选择一个答案吗?
-
@JaredBurrows 是的,我可以选择一个答案。