您好,登錄后才能下訂單哦!
Android Studio打包.so庫(kù)到apk中實(shí)例詳解
由于在原來(lái)的ADT的Eclipse環(huán)境中,用ndk_build工具生成了相應(yīng)的各個(gè).so庫(kù)文件之后,eclipse工具就會(huì)自動(dòng)把這些庫(kù)導(dǎo)入到apk中。而Android Studio目前為止(1.1.0版本)還無(wú)法做到那么自動(dòng),但是我們可以通過(guò)以下方式進(jìn)行。
首先在Android Studio工程的app目錄下創(chuàng)建整個(gè)jni目錄,jni目錄里寫(xiě)Android.mk、Application.mk以及各類C/C++和匯編源文件。然后跟原來(lái)一樣,用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ì)本站的支持!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。