【发布时间】:2015-06-24 11:06:49
【问题描述】:
Android Studio 1.1 生成的 apk 文件(位于 @app/build/outputs/apk 文件夹)包含 lib 目录,并且对于每种 cpu 类型都存在一个非空文件夹,例如 /x86。这些文件夹中的每一个都包含一个 libapp.so 共享库,每个 cpu 大小约为 5Kb。
我在网上搜索过,到目前为止我唯一找到的是来自 Intel https://software.intel.com/en-us/articles/building-native-android-apps-using-intelr-c-compiler-in-android-studio 的这个链接,它显示了如何将默认的 libapp.so 更改为用户提供的库。
所以,我猜这个库 (libapp.so) 是由 gradle 构建的。
事实上,我使用 ndk-build 命令行工具构建自己的本地库,并且我的库与 libapp.so 一起放置。顺便说一句,它不会引起任何问题,但我觉得我正在失去对构建内容和原因的控制。
这是我简陋的 build.gradle 文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
/**
* Path to *.so files
*/
sourceSets {
main {
jniLibs.srcDirs = ['src/main/libs']
jni.srcDirs = [] //disable automatic ndk-build
}
}
defaultConfig {
applicationId "com.sample.android"
minSdkVersion 9
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.0'
}
如何禁用这个正在构建的 libapp.so?
【问题讨论】:
标签: android gradle android-ndk