Android Studio打包.so库到apk中实例详解
程序员文章站
2022-06-08 17:46:53
android studio打包.so库到apk中实例详解
由于在原来的adt的eclipse环境中,用ndk_build工具生成了相应的各个.so库文件之后,eclip...
android studio打包.so库到apk中实例详解
由于在原来的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了。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!