當前位置:首頁 » 安卓系統 » androidsojnilibs

androidsojnilibs

發布時間: 2022-08-15 17:14:45

① android studio中so庫文件夾放在哪

android studio 中 添加.so 文件,Android Studio中添加.jar文件和.so文件無疑是一件很重要也是很頭疼的問題!

1、在src/main中添加 jniLibs文件夾 ,把.so復制進去

② android studio怎麼添加.so文件

先在Android studio導入一個項目,然後進入到項目中,依次進入到app>>src>>main下。

在main的文件下進行創建一個jnilibs,然後選中main的文件,進行右鍵,彈出框中點擊「new」,移動下一級菜單中選擇「directory」。

對創建的文件夾進行昵稱,在昵稱中進行輸入「jnilibs」,然後點擊「ok」。

這樣在main的文件中創建一個為jnilibs的文件夾。

然後在jinlibs中文件進行添加so的文件,進入到so文件存放的文件中,直接把so的文件拖動到jinlibs的文件中。

拖動完成之後,會提示一個確認款提示信息,直接點擊「ok」即可。

在non-project file access中第一個我希望編輯文件,第二個為我想在當前會話中編輯任何非項目文件,根據的自己需要進行選擇,可以默認即可,點擊ok。

這樣就把so文件添加到jnilibs的文件中,這樣的話程序的代碼就可以進行調用其中方法。

③ jnilibs so文件怎麼打開

在src/main中添加jniLibs文件夾,把.so復制進去在build.gradle中就添加這么幾行,看圖sourceSets{main{jniLibs.srcDirs=['libs']}}然後makeproject4、切換到android結構下,你會看到jniLibs中.so已經變成了.jar文件,證明已經成功

④ android studio里怎麼添加so文件

在src/main中添加 jniLibs文件夾 ,把.so復制進去

在build.gradle中就添加這么幾行 , 看圖

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

然後make project

4
4、切換到android結構下,你會看到 jniLibs 中.so已經變成了.jar文件,證明已經成功

⑤ android studio 怎麼打開so文件

先在Android studio導入一個項目,然後進入到項目中,依次進入到app>>src>>main下。

在main的文件下進行創建一個jnilibs,然後選中main的文件,進行右鍵,彈出框中點擊「new」,移動下一級菜單中選擇「directory」。

對創建的文件夾進行昵稱,在昵稱中進行輸入「jnilibs」,然後點擊「ok」。

這樣在main的文件中創建一個為jnilibs的文件夾。

然後在jinlibs中文件進行添加so的文件,進入到so文件存放的文件中,直接把so的文件拖動到jinlibs的文件中。

拖動完成之後,會提示一個確認款提示信息,直接點擊「ok」即可。

在non-project file access中第一個希望編輯文件,第二個為咱想在當前會話中編輯任何非項目文件,根據的自己需要進行選擇,可以默認即可,點擊ok。

這樣就把so文件添加到jnilibs的文件中,這樣的話程序的代碼就可以進行調用其中方法。

⑥ Android studio 怎麼載入.so文件

Android studio方法:

1、先在Android studio導入一個項目,然後進入到項目中,依次進入到app>>src>>main下。

⑦ android studio怎麼引用so

1、在src/main中添加 jniLibs文件夾 ,把.so復制進去

⑧ android 怎麼把多個so文件編譯成jar

一共分為2步:

1.在java中編寫要調用的靜態方法和需要載入的庫,並生成頭文件。

2.配置gradle

3.配置Android.mk文件和application.mk文件

下面一步步的走:

首先需要在Java類中聲明要調用的方法,以及要載入的庫,我們在包下新建一個jniUtil類,如下所示

[plain]view plain

publicclassjniUtil{

//要載入的庫,生成的庫格式為:lib+庫名.so

static{System.loadLibrary("hello-jni");}

//要調用的本地方法,在c文件中該方法名稱格式為:java_包名_類名_方法名

();

}


注意:在編譯時該類中不能有漢字,包括注釋,否則會出現編碼GBK的不可映射字元錯誤。
接下來就是利用external Tools生成頭文件.h,這里可參考點擊打開鏈接
然後就會在main目錄下生成Jni文件夾,並且包含.h文件。下面就是編寫C文件,或者可以拷貝已經寫好的C文件放置在該jni文件夾中.

2.配置gradle
我們這里不用gradle 去編譯,而是只讓他去載入已經生成的so庫,改用android.mk 去編譯(稍後配置android.mk)
在app的build.gradle 下的android 標簽下添加:

[plain]view plain

sourceSets{

main{

jni.srcDirs=[]//禁止gradle自動編譯,使用已經編譯好的So庫

jniLibs.srcDirs=['src/main/jniLibs','libs']//指向要使用的庫文件//的路徑,前邊的是自己項目的,後邊的是第三方的so

}

}


從上面可以看出,我們生成的庫是放在
src/main/jniLibs
目錄下面的,那麼這個是如何配置呢?還是在該gradle下面配置ndk的編譯腳本,注意放在android標簽外面:

[plain]view plain

tasks.withType(JavaCompile){

compileTask->compileTask.dependsOnCopyToJniLibs

}

taskndkBuild(type:Exec,description:'CompileJNIsourceviaNDK'){

Propertiesproperties=newProperties()

properties.load(project.rootProject.file('local.properties').newDataInputStream())

defndkDir=properties.getProperty('ndk.dir')

commandLine"$ndkDir/ndk-build.cmd","NDK_PROJECT_PATH=$projectDir.absolutePath\build","APP_BUILD_SCRIPT=$projectDir.absolutePath\src\main\jni\Android.mk","NDK_APPLICATION_MK=$projectDir.absolutePath\src\main\jni\Application.mk"

//你自己的mk文件目錄

}


在ndkbuild完成後把生成的so文件復制到jniLibs,這里和上面配置的載入so文件路徑要一致哦


[plain]view plain

taskCopyToJniLibs(type:Copy,dependsOn:'ndkBuild',description:'thenativelibstojniLibs'){

fromfileTree(dir:file(buildDir.absolutePath+'/libs'),include:'**/*.so')

intofile('src/main/jniLibs')

}


新建Android.mk和application.mk,這里我把Android.mk和application.mk放在jni文件夾下了,具體可以自己修改。默認生成的SO文件會在build下面的libs中,我們拷貝出來放到src/main/jniLibs下面。

3.配置Android.mk和Application.mk

熱點內容
windows調度演算法 發布:2024-04-25 14:14:28 瀏覽:455
下載喵星大作戰需要什麼配置 發布:2024-04-25 14:14:22 瀏覽:303
贛州伺服器數據存儲 發布:2024-04-25 14:13:41 瀏覽:888
控制演算法高手 發布:2024-04-25 13:57:10 瀏覽:471
文字游戲源碼php 發布:2024-04-25 13:57:08 瀏覽:880
安卓手機校準屏幕在哪裡 發布:2024-04-25 13:53:02 瀏覽:910
安卓app會閃退怎麼解決 發布:2024-04-25 13:48:44 瀏覽:643
阿里雲伺服器能用vmware嗎 發布:2024-04-25 13:33:23 瀏覽:731
1616源碼 發布:2024-04-25 13:33:19 瀏覽:80
奧維地圖伺服器地址怎麼填 發布:2024-04-25 12:40:04 瀏覽:965