【问题标题】:Android Studio adds libapp.so to the resulting apk, what is it and how to turn it off?Android Studio 将 libapp.so 添加到生成的 apk 中,它是什么以及如何关闭它?
【发布时间】: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


    【解决方案1】:

    默认配置 { ndk { 模块名称“yourSelfLib” } }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-25
      • 2016-02-16
      • 1970-01-01
      • 1970-01-01
      • 2011-06-24
      相关资源
      最近更新 更多