国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

詳解Android studio中正確引入so文件的方法

2019-12-12 02:02:53
字體:
來源:轉載
供稿:網友

相信很多朋友在使用Android studio開發中,遇到過如何引入第三方so文件的問題,然而第三方官方僅僅給出了ADT環境下的集成方式。
Android studio中默認使用的是gradle編譯方式,與ADT編輯方式不一樣,那么so文件應當如何引入呢?

其實很簡單。這里以集成JPUSH為例,看一下so文件如何引入到編譯環境,最終到JNI直接可以調用該so文件。

首先,在我們的Module的根目錄中建立libs目錄,將jpush集成SDK中的so文件分別拷入,截圖如下:

然后就是編寫我們的build.gradle文件。

關于so文件引入的配置很簡單,代碼配置如下:

task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs") {     destinationDir file("$projectDir/libs")     baseName "Native_Libs2"     extension "jar"     from fileTree(dir: "libs", include: "**/*.so")     into "lib"   }    tasks.withType(JavaCompile) {     compileTask -> compileTask.dependsOn(nativeLibsToJar)   } 

自定義一個任務,在其中指定項目所依賴的so文件的目錄,這里用了**/*.so來寫,為了省事,指定需要拷入的目錄 into "lib",那么動態運行庫就被拷入到lib目錄中。

完整的build.gradle文件如下:

apply plugin: 'com.android.application'  android {   compileSdkVersion 21   buildToolsVersion "21.1.0"    defaultConfig {     applicationId "com.wujay.footerballstar"     minSdkVersion 8     targetSdkVersion 21     versionCode 1     versionName "1.0"   }    buildTypes {     release {       runProguard false       proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'     }   }    task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs") {     destinationDir file("$projectDir/libs")     baseName "Native_Libs2"     extension "jar"     from fileTree(dir: "libs", include: "**/*.so")     into "lib"   }    tasks.withType(JavaCompile) {     compileTask -> compileTask.dependsOn(nativeLibsToJar)   } }  dependencies {   compile fileTree(dir: 'libs', include: ['*.jar'])   compile 'com.android.support:appcompat-v7:21.0.0'   compile files('libs/jpush-sdk-release1.7.2.jar')   compile files('libs/umeng_sdk.jar')   compile files('libs/libammsdk.jar') } 

基于有人在評論區提問,這里補充一下,有一個更為快捷輕快的配置方法

那就是在build.gradle配置中,配置如下的信息:

sourceSets {  main {    jniLibs.srcDirs = ['libs']  }}

你的so包可以放在lib目錄下,跟jar包放在同樣的目錄,如lib/armeabi/libjpush172.so。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 醴陵市| 布拖县| 忻城县| 板桥市| 延吉市| 鄂托克前旗| 元朗区| 阳山县| 南开区| 突泉县| 普兰店市| 克什克腾旗| 泰来县| 新邵县| 龙门县| 阳西县| 金华市| 深水埗区| 霍州市| 葫芦岛市| 平南县| 泰兴市| 杂多县| 潢川县| 肥乡县| 修武县| 同德县| 广河县| 全椒县| 大石桥市| 临邑县| 利川市| 政和县| 沾化县| 嘉义市| 九江县| 宾阳县| 沁水县| 浙江省| 金门县| 团风县|