转载:http://blog.csdn.net/way_ping_li/article/details/44631017
由于在原来的ADT的Eclipse环境中,用ndk_build工具生成了相应的各个.so库文件之后,eclipse工具就会自动把这些库导入到apk中。而Android Studio目前为止(1.1.0版本)还无法做到那么自动,但是我们可以通过以下方式进行。
首先在Android Studio工程的app目录下创建整个jni目录,jni目录里写Android.mk、Application.mk以及各类C/C++和汇编源文件。然后跟原来一样,用ndk_build工具去编,然后工具会自动生成libs目录,里面还有每个你在Application.mk里所指定处理器架构的so文件。
完成之后,编辑你对应module(类似eclipse中的project)目录下的build.gradle文件,为其添加以下代码:
- sourceSets {
- main {
- jniLibs.srcDirs = ['libs']
- }
- }
比如本人module完整的build.gradle文件如下所示:
- apply plugin: 'com.android.application'
- android {
- compileSdkVersion 22
- buildToolsVersion "21.1.1"
- defaultConfig {
- applicationId "com.example.way.aligesture"
- minSdkVersion 15
- targetSdkVersion 22
- versionCode 1
- versionName "1.0"
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
- sourceSets {
- main {
- jniLibs.srcDirs = ['libs']
- }
- }
- }
- dependencies {
- compile fileTree(dir: 'libs', include: ['*.jar'])
- compile project(':acra')
- compile project(':hwdroid')
- }
最后记得选中对应的module右击synchronize同步一下,以便使其生效。如下图所示,module目录下回生成一个jniLibs目录,再打包生成的apk就会带上.so了。