由于在原来的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了。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!