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

首頁 > 系統 > Android > 正文

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

2019-10-22 18:27:55
字體:
來源:轉載
供稿:網友

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

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

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

android,studio引入so,studio,so,studio導入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/204326.html">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。

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


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汽车| 屏山县| 黄石市| 十堰市| 昆山市| 崇州市| 盐边县| 襄汾县| 佛学| 岗巴县| 永兴县| 诏安县| 理塘县| 晋江市| 大理市| 凌源市| 江达县| 会同县| 离岛区| 莱阳市| 错那县| 锦屏县| 富顺县| 崇明县| 乌兰浩特市| 阳山县| 吉木乃县| 日喀则市| 秭归县| 锡林郭勒盟| 巴林左旗| 合作市| 丹东市| 子长县| 磴口县| 武夷山市| 开阳县| 东山县| 和田市| 长岛县| 开鲁县|