Android Studio打包.so庫到apk中實(shí)例詳解
創(chuàng)新互聯(lián)"三網(wǎng)合一"的企業(yè)建站思路。企業(yè)可建設(shè)擁有電腦版、微信版、手機(jī)版的企業(yè)網(wǎng)站。實(shí)現(xiàn)跨屏營銷,產(chǎn)品發(fā)布一步更新,電腦網(wǎng)絡(luò)+移動(dòng)網(wǎng)絡(luò)一網(wǎng)打盡,滿足企業(yè)的營銷需求!創(chuàng)新互聯(lián)具備承接各種類型的網(wǎng)站制作、網(wǎng)站建設(shè)項(xiàng)目的能力。經(jīng)過十載的努力的開拓,為不同行業(yè)的企事業(yè)單位提供了優(yōu)質(zhì)的服務(wù),并獲得了客戶的一致好評(píng)。
由于在原來的ADT的Eclipse環(huán)境中,用ndk_build工具生成了相應(yīng)的各個(gè).so庫文件之后,eclipse工具就會(huì)自動(dòng)把這些庫導(dǎo)入到apk中。而Android Studio目前為止(1.1.0版本)還無法做到那么自動(dòng),但是我們可以通過以下方式進(jìn)行。
首先在Android Studio工程的app目錄下創(chuàng)建整個(gè)jni目錄,jni目錄里寫Android.mk、Application.mk以及各類C/C++和匯編源文件。然后跟原來一樣,用ndk_build工具去編,然后工具會(huì)自動(dòng)生成libs目錄,里面還有每個(gè)你在Application.mk里所指定處理器架構(gòu)的so文件。
完成之后,編輯你對(duì)應(yīng)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') }
最后記得選中對(duì)應(yīng)的module右擊synchronize同步一下,以便使其生效。如下圖所示,module目錄下回生成一個(gè)jniLibs目錄,再打包生成的apk就會(huì)帶上.so了。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!