2015-06-24 57 views
1

Android Studio 1.1生成的apk文件(位於@app/build/outputs/apk文件夾)包含lib目錄,並且對於每個cpu類型,都存在一個非空文件夾,如/ x86。這些文件夾中的每一個都包含一個libapp.so共享庫,每個CPU的大小約爲5Kb。Android Studio將libapp.so添加到生成的apk中,它是什麼以及如何關閉它?

我搜索了網絡,迄今爲止唯一發現的是英特爾https://software.intel.com/en-us/articles/building-native-android-apps-using-intelr-c-compiler-in-android-studio的此鏈接,該鏈接顯示如何將默認libapp.so更改爲用戶提供的庫。

所以,我猜這個庫(libapp.so)是由Gradle構建的。 Gradle當然是隱藏東西的王。

事實上,我使用ndk-build命令行工具來建立自己的本地庫,並且我的libs與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正在興建,或至少知道發生了什麼事情與gradle這個(建設 - hideomation工具)做自己的事幕後?

回答

0

defaultConfig { NDK { MODULENAME 「yourSelfLib」 } }

相關問題