国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android基于JNA集成調(diào)用第三方C/C++的so庫(kù)

這篇具有很好參考價(jià)值的文章主要介紹了Android基于JNA集成調(diào)用第三方C/C++的so庫(kù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Android基于JNA集成調(diào)用第三方C/C++的so庫(kù)

(1)引入JNA。

基于JNA開(kāi)源項(xiàng)目,JNA對(duì)Android NDK的封裝,簡(jiǎn)化Android層JNI集成調(diào)用C/C++的so庫(kù)。

GitHub - java-native-access/jna: Java Native AccessJava Native Access. Contribute to java-native-access/jna development by creating an account on GitHub.https://github.com/java-native-access/jna

在Android的app的build.gradle添加引用:

implementation group: 'net.java.dev.jna', name: 'jna', version: '5.13.0'

這里可以直接添加JNA最新版本:

https://mvnrepository.com/artifact/net.java.dev.jna/jnahttps://mvnrepository.com/artifact/net.java.dev.jna/jna

在app的build.gradle的android塊內(nèi)設(shè)置jniLibs.srcDir:

    sourceSets {
        main {
            jniLibs.srcDir 'libs'
        }
    }

(2)在?jna/dist at master · java-native-access/jna · GitHub? 這里下載?android-aarch64.jar

Android基于JNA集成調(diào)用第三方C/C++的so庫(kù)

因?yàn)槲疫@里基于arm64-v8a架構(gòu)。如果是armv7,選擇相應(yīng)的jar包。

下載后,解壓android-aarch64.jar,里面是libjnidispatch.so文件,把這個(gè)文件放入app\libs\arm64-v8a下面

Android基于JNA集成調(diào)用第三方C/C++的so庫(kù)

(3)以上準(zhǔn)備工作完成后,開(kāi)始集成第三方so庫(kù)。

把第三方so庫(kù)放入app\libs\arm64-v8a下

Android基于JNA集成調(diào)用第三方C/C++的so庫(kù)

(4)開(kāi)始調(diào)用第三方so庫(kù)中的C/C++函數(shù)。寫(xiě)上層Java代碼。

Android基于JNA集成調(diào)用第三方C/C++的so庫(kù)

?注意Native.load()里面對(duì)應(yīng)的so庫(kù)名,so庫(kù)名一般以libxxx.so開(kāi)頭,但是在Native.load里面,不要帶上lib和結(jié)尾的.so后綴名,即去掉開(kāi)頭lib和結(jié)尾的.so。

在CLibrary里面定義的接口函數(shù),即為libxxx.so第三方庫(kù)里面完成的函數(shù)。

(5)在Android層直接使用:

Android基于JNA集成調(diào)用第三方C/C++的so庫(kù)

Android基于JNA加載第三方.so庫(kù)報(bào)錯(cuò):java.lang.UnsatisfiedLinkError Native library (com/sun/jna/android-aarch64/l_zhangphil的博客-CSDN博客基于Windows平臺(tái),Android NDK(JNI)開(kāi)發(fā)技術(shù)》【摘要】本文介紹如何基于Windows平臺(tái),在Eclipse中使用Android NDK技術(shù)實(shí)現(xiàn)“Android平臺(tái)上的JNI ( Java Native Interface ) ”開(kāi)發(fā)。新增的getStringCpp()是新增的一個(gè)方法,因?yàn)闆](méi)有實(shí)現(xiàn)所以報(bào)紅。解壓后,里面是一個(gè)libjnidispatch.so,把libjnidispatch.so放到Android項(xiàng)目的libs\arm64-v8a\里面即可。https://blog.csdn.net/zhangphil/article/details/130400296文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-433609.html

到了這里,關(guān)于Android基于JNA集成調(diào)用第三方C/C++的so庫(kù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 第三方應(yīng)用調(diào)用系統(tǒng)SO 庫(kù)失敗Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: library

    在Android 31平臺(tái),嘗試使用第三方應(yīng)用調(diào)用系統(tǒng)SO 庫(kù),會(huì)報(bào)如下的錯(cuò)誤 Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: library \\\" /system/lib64/XXX.so \\\" needed or dlopened by \\\"/apex/com.android.art/lib64/libnativeloader.so\\\" is not accessible for the namespace \\\"classloader-namespace\\\" 大體原因是,Android N 開(kāi)始限制 第三方

    2024年02月12日
    瀏覽(22)
  • Android 14.0 添加自定義服務(wù),并生成jar給第三方app調(diào)用

    在14.0系統(tǒng)ROM產(chǎn)品定制化開(kāi)發(fā)中,由于需要新增加自定義的功能,所以要增加自定義服務(wù),而app上層通過(guò)調(diào)用自定義服務(wù),來(lái)調(diào)用相應(yīng)的功能,所以系統(tǒng)需要先生成jar,然后生成jar 給上層app調(diào)用,接下來(lái)就來(lái)分析實(shí)現(xiàn)的步驟,然后來(lái)實(shí)現(xiàn)相關(guān)的功能 從而來(lái)實(shí)現(xiàn)所需要的功能 在

    2024年04月10日
    瀏覽(105)
  • Android 13.0 添加自定義服務(wù),并生成jar給第三方app調(diào)用

    在13.0系統(tǒng)產(chǎn)品定制化開(kāi)發(fā)中,由于需要新增加自定義的功能,所以要增加自定義服務(wù),而app上層通過(guò)調(diào)用自定義服務(wù),來(lái)調(diào)用相應(yīng)的功能,所以系統(tǒng)需要先生成jar,然后生成jar 給上層app調(diào)用,接下來(lái)就來(lái)分析實(shí)現(xiàn)的步驟,然后來(lái)實(shí)現(xiàn)相關(guān)的功能 從而來(lái)實(shí)現(xiàn)所需要的功能 添加

    2024年02月05日
    瀏覽(38)
  • 鴻蒙使用第三方SO庫(kù)

    使用第三方SO庫(kù)以導(dǎo)入OpenCV和MNN的SO庫(kù)為例 1、將MNN和Opencv的so文件(包括.407文件),放入模塊下libs目錄對(duì)應(yīng)的版本(arm64-v8a和armeabi-v7a) 2、配置模塊目錄下的build-profile.json5的buildOption字段,增加abiFilters字段: 3、在CMakeLists.txt所在目錄,創(chuàng)建\\\"thirdPart”目錄,然后將MNN和opencv的頭文件

    2024年01月19日
    瀏覽(28)
  • Forest-聲明式HTTP客戶端框架-集成到SpringBoot實(shí)現(xiàn)調(diào)用第三方restful api并實(shí)現(xiàn)接口數(shù)據(jù)轉(zhuǎn)換

    Forest-聲明式HTTP客戶端框架-集成到SpringBoot實(shí)現(xiàn)調(diào)用第三方restful api并實(shí)現(xiàn)接口數(shù)據(jù)轉(zhuǎn)換

    聲明式HTTP客戶端API框架,讓Java發(fā)送HTTP/HTTPS請(qǐng)求不再難。它比OkHttp和HttpClient更高層, 是封裝調(diào)用第三方restful api client接口的好幫手,是retrofit和feign之外另一個(gè)選擇。 通過(guò)在接口上聲明注解的方式配置HTTP請(qǐng)求接口。 官網(wǎng): Forest ? 代碼地址: forest: 聲明式HTTP客戶端API框架,讓

    2024年02月04日
    瀏覽(25)
  • 鴻蒙加載第三方動(dòng)態(tài)鏈接庫(kù)(.so)文件

    鴻蒙加載第三方動(dòng)態(tài)鏈接庫(kù)(.so)文件

    在沒(méi)有正確引用so文件情況下會(huì)報(bào)出上述錯(cuò)誤,正確姿勢(shì)應(yīng)該如下 在Android的寫(xiě)法是在main目錄下創(chuàng)建jniLibs,然后.so文件復(fù)制進(jìn)去即可,但是在鴻蒙里面要在libs/內(nèi)放置arm64-v8a和armeabi-v7a兩個(gè)文件夾的so文件,然后在build.gradle文件 加多一個(gè).so的描述 即可使用

    2024年02月13日
    瀏覽(30)
  • 基于Docker部署OpenLDAP,同時(shí)集成第三方系統(tǒng)(GitLab、JIRA、Nexus、Harbor)

    基于Docker部署OpenLDAP,同時(shí)集成第三方系統(tǒng)(GitLab、JIRA、Nexus、Harbor)

    這里可以了解什么是LDAP,為什么要用它 下面通過(guò)docker-compose一鍵部署openLDAP、phpldapadmin和self-service-password。(通過(guò)K8s部署的方式大同小異) 準(zhǔn)備open-ldap的docker-compose文件 執(zhí)行 docker-compose up 命令,就可以一鍵部署openldap、phpldapadmin(他就是openldap的操作頁(yè)面)、self-service-passw

    2023年04月08日
    瀏覽(21)
  • 基于ETLCloud的自定義規(guī)則調(diào)用第三方j(luò)ar包實(shí)現(xiàn)繁體中文轉(zhuǎn)為簡(jiǎn)體中文

    基于ETLCloud的自定義規(guī)則調(diào)用第三方j(luò)ar包實(shí)現(xiàn)繁體中文轉(zhuǎn)為簡(jiǎn)體中文

    前面曾體驗(yàn)過(guò)通過(guò)零代碼、可視化、拖拉拽的方式快速完成了從 MySQL 到 ClickHouse 的數(shù)據(jù)遷移,但是在實(shí)際生產(chǎn)環(huán)境,我們?cè)谶w移到目標(biāo)庫(kù)之前還需要做一些過(guò)濾和轉(zhuǎn)換工作;比如,在詩(shī)詞數(shù)據(jù)遷移后,發(fā)現(xiàn)原來(lái) MySQL 中的詩(shī)詞數(shù)據(jù)都是繁體字,這就導(dǎo)致在直接遷移到 ClickHous

    2024年02月11日
    瀏覽(20)
  • 鴻蒙Native輸出so動(dòng)態(tài)庫(kù),并提供給第三方導(dǎo)入使用

    鴻蒙Native輸出so動(dòng)態(tài)庫(kù),并提供給第三方導(dǎo)入使用

    DevEco Studio版本:4.0.0.600 API:9 最近在學(xué)習(xí)鴻蒙的Native輸出so動(dòng)態(tài)庫(kù),下面就給大家分享下我的學(xué)習(xí)心得及在實(shí)現(xiàn)過(guò)程中遇到的問(wèn)題。 實(shí)現(xiàn)需求:通過(guò)so庫(kù)輸出文本內(nèi)容 “你好,鴻蒙!” 參考資料: OpenHarmony Native API 1、創(chuàng)建Native工程 File--New--create Project,選擇Native C++項(xiàng)目 正常

    2024年04月10日
    瀏覽(32)
  • 基于opencv第三方視覺(jué)庫(kù),通過(guò)內(nèi)網(wǎng)IP調(diào)用手機(jī)攝像頭,實(shí)現(xiàn)人臉識(shí)別與圖形監(jiān)測(cè)

    基于opencv第三方視覺(jué)庫(kù),通過(guò)內(nèi)網(wǎng)IP調(diào)用手機(jī)攝像頭,實(shí)現(xiàn)人臉識(shí)別與圖形監(jiān)測(cè)

    OpenCV 是一個(gè)開(kāi)源的計(jì)算機(jī)視覺(jué)庫(kù),OpenCV 庫(kù)用C語(yǔ)言和 C++ 語(yǔ)言編寫(xiě),可以在 Windows、Linux、Mac OS X 等系統(tǒng)運(yùn)行。同時(shí)也在積極開(kāi)發(fā) Python、Java、Matlab 以及其他一些語(yǔ)言的接口,將庫(kù)導(dǎo)入安卓和 iOS 中為移動(dòng)設(shè)備開(kāi)發(fā)應(yīng)用。 OpenCV 庫(kù)包含從計(jì)算機(jī)視覺(jué)各個(gè)領(lǐng)域衍生出來(lái)的 500 多個(gè)函

    2024年02月09日
    瀏覽(31)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包