最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年09月13日 09:23:00   作者:wulianghuan  
本篇文章主要介紹了Android studio中正確引入so文件的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

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

其實(shí)很簡(jiǎn)單。這里以集成JPUSH為例,看一下so文件如何引入到編譯環(huán)境,最終到JNI直接可以調(diào)用該so文件。

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

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

關(guān)于so文件引入的配置很簡(jiǎn)單,代碼配置如下:

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) 
  } 

自定義一個(gè)任務(wù),在其中指定項(xiàng)目所依賴的so文件的目錄,這里用了**/*.so來寫,為了省事,指定需要拷入的目錄 into "lib",那么動(dòng)態(tài)運(yùn)行庫(kù)就被拷入到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') 
} 

基于有人在評(píng)論區(qū)提問,這里補(bǔ)充一下,有一個(gè)更為快捷輕快的配置方法

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

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

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

招远市| 武隆县| 屏南县| 普定县| 无极县| 辽宁省| 泉州市| 毕节市| 镇康县| 黔南| 康保县| 宽甸| 藁城市| 女性| 保山市| 平利县| 蒙自县| 沅江市| 枣庄市| 诏安县| 曲沃县| 盐源县| 盐津县| 石城县| 康保县| 新丰县| 通化市| 安国市| 和平县| 朔州市| 博白县| 河东区| 秭归县| 恭城| 新建县| 习水县| 尉犁县| 灌云县| 顺义区| 垦利县| 澄迈县|