欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解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í)很簡單。這里以集成JPUSH為例,看一下so文件如何引入到編譯環(huán)境,最終到JNI直接可以調(diào)用該so文件。

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

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

關(guān)于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) 
  } 

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

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

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

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

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

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

相關(guān)文章

  • Android開發(fā)筆記XML數(shù)據(jù)解析方法及優(yōu)缺點(diǎn)

    Android開發(fā)筆記XML數(shù)據(jù)解析方法及優(yōu)缺點(diǎn)

    XML數(shù)據(jù)是一種常見的數(shù)據(jù)格式,Android開發(fā)中需要對其進(jìn)行解析。常用的XML解析方式有DOM、SAX、Pull和Json等,每種方式都有其優(yōu)缺點(diǎn)。開發(fā)者可以根據(jù)具體需求選擇合適的解析方式,提高數(shù)據(jù)解析效率和性能
    2023-05-05
  • 詳解Android性能優(yōu)化之啟動(dòng)優(yōu)化

    詳解Android性能優(yōu)化之啟動(dòng)優(yōu)化

    一款應(yīng)用的第一印象很重要,第一印象往往決定了用戶的去留。打開一款應(yīng)用,如果速度很快,很順暢,那么很容易讓人覺得這款應(yīng)用背后的技術(shù)實(shí)力很強(qiáng),用戶潛意識(shí)中會(huì)對這款應(yīng)用更加的信賴。本文將詳細(xì)介紹Android性能優(yōu)化之啟動(dòng)優(yōu)化。
    2021-06-06
  • android截屏功能實(shí)現(xiàn)代碼

    android截屏功能實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了android截屏功能的實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android?Glide使用方法與原理分析

    Android?Glide使用方法與原理分析

    Android?Glide是一款強(qiáng)大的圖片加載庫,提供了豐富的功能和靈活的使用方式,本文將深入分析Glide的工作原理,并介紹一些使用姿勢,助你更好地運(yùn)用這個(gè)優(yōu)秀的庫,需要的朋友可以參考下
    2023-09-09
  • Flutter 快速實(shí)現(xiàn)聊天會(huì)話列表效果示例詳解

    Flutter 快速實(shí)現(xiàn)聊天會(huì)話列表效果示例詳解

    這篇文章主要為大家介紹了Flutter 快速實(shí)現(xiàn)聊天會(huì)話列表效果示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Android Listview點(diǎn)贊問題關(guān)于圖片重復(fù)問題

    Android Listview點(diǎn)贊問題關(guān)于圖片重復(fù)問題

    最近在開發(fā)android方面的項(xiàng)目時(shí),遇到很多問題,下面小編以listview 與 baseadapter結(jié)合使用為例,給大家分享下關(guān)于點(diǎn)贊的的時(shí)候 圖片重復(fù)問題的解決方法,一起看看吧
    2016-11-11
  • flutter中使用流式布局示例詳解

    flutter中使用流式布局示例詳解

    這篇文章主要為大家介紹了flutter中使用流式布局示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Android開發(fā) -- setTag的妙用和The key must be an application-specific resource id 異常

    Android開發(fā) -- setTag的妙用和The key must be an application-specif

    本文主要介紹Android開發(fā)setTag的妙用,小編覺得挺實(shí)用的,給大家一個(gè)參考,希望對大家學(xué)習(xí)有所幫助。
    2016-06-06
  • Android應(yīng)用中通過Layout_weight屬性用ListView實(shí)現(xiàn)表格

    Android應(yīng)用中通過Layout_weight屬性用ListView實(shí)現(xiàn)表格

    這篇文章主要介紹了Android應(yīng)用中通過Layout_weight屬性用ListView實(shí)現(xiàn)表格的方法,文中對Layout_weight屬性先有一個(gè)較為詳細(xì)的解釋,需要的朋友可以參考下
    2016-04-04
  • Android獲取高清app圖標(biāo)代碼分享

    Android獲取高清app圖標(biāo)代碼分享

    這篇文章主要為大家分享了Android獲取高清app圖標(biāo)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09

最新評論