如何在android studio中匯入jni生成的 so庫

2021-12-22 10:08:06 字數 1837 閱讀 1323

1樓:08物理

(1)老版本,方法如下:

task copynativelibs(type: copy)

into new file(builddir, 'native-libs')

tasks.withtype(compile)

clean.dependson 'cleancopynativelibs'

pkgtask.jnidir new file(builddir, 'native-libs')

(2)新版本三種方法:

(2.1)打包前先生成.jar檔案後自動解包到apk檔案

task nativelibstojar(type: zip, description: 'create a jar archive of the native libs') {

destinationdir file("$builddir/native-libs")

basename 'native-libs'

extension 'jar'

from filetree(dir: 'libs', include: '**/*.so')

into 'lib/'

tasks.withtype(compile) {

compiletask -> compiletask.dependson(nativelibstojar)

下面一句話就是打包生成目錄(build\native-libs)中的.jar檔案

compile filetree(dir: "$builddir/native-libs", include: 'native-libs.jar')

(2.2)手動生成.jar檔案後自動解包到apk檔案

這個方式需要自己手動進行.so檔案壓縮,具體步驟為:將所有需要使用的.

so檔案壓縮為.zip檔案(zip中的檔案目錄結構為: lib/armeabi/*.

so)然後把zip檔案字尾改為.jar然後放到libs生成apk就ok

預設就是自動打包所有.jar檔案:

dependencies {

compile filetree(dir: 'libs', include: '*.jar')

(2.3)這也就是現在正在使用的方式(推薦) ,其實無非就是把.so檔案打包到apk的lib資料夾中,假如仔細閱讀了gradle的使用方法,自然就知道其實gradle官方在新版已經自動實現了打包.

so檔案的.很簡單級就是在配置的android節點下加入下面的內容就ok:

sourcesets {

main {

jnilibs.srcdirs = ['libs']

其他地方無需修改,整個專案的配置檔案如下:

android {

compilesdkversion 19

buildtoolsversion "19.0.0"

defaultconfig {

minsdkversion 16

targetsdkversion 19

versioncode 1

versionname "1.0"

buildtypes {

release {

runproguard false

proguardfiles getdefaultproguardfile('proguard-android.txt'), 'proguard-rules.txt'

sourcesets {

main {

jnilibs.srcdirs = ['libs']

dependencies {

compile filetree(dir: 'libs', include: ['*.jar'])

如何在window上用,如何在window上用ios app

你先要用虛擬機器裝完蘋果系統 具體參照威鋒網x86論壇 然後再裝xcode即可 電腦上怎麼執行ios app軟體?windows7系統的電腦 擴充套件資料開啟swf檔案 2 然後,在搜尋的結果中點選開啟帶有官網字樣的qq影音官方 4 之後,開啟安裝好的qq影音軟體,點選開啟檔案的按鈕。5 最後,在電...

如何在電視上看戲?任何在小公尺,如何在電視上看戲?

以後您如果再遇到類似的問題,可以按照下面的思路去解決 1 發現問題 往往生活在世界中,時時刻刻都處在這各種各樣的矛盾中,當某些矛盾放映到意識中時,個體才發現他是個問題,並要求設法去解決它。這就是發現問題的階段。從問題的解決的階段性看,這是第一階段,是解決問題的前提。2 分析問題 要解決所發現的問題,...

如何在maven中新增jar包,如何在maven中新增本地jar包

步驟先建立乙個基於maven的專案,點選開啟pom.xml檔案 點選dependencies標籤頁,然後點選dependencies中的內add按鈕,輸 入我們想新增的容jar包名字,就會出現下圖中所示,它會把對應名稱的所有版本jar包列出來 點選ok之後,在pom.xml會帶回jar包的資訊,ty...