java - 安卓調(diào)用c++lib
問(wèn)題描述
之前提問(wèn)了。但賬號(hào)搞丟所以又在問(wèn)一遍。需求:安卓平臺(tái)調(diào)c++的lib。1.c++部分源碼已有,需要編譯成lib,怎么編成安卓的lib。這部分c++要鏈接caffe和opencv的lib一起編譯。2.安卓調(diào)用怎么調(diào)。
問(wèn)題解答
回答1:1、android ndk知識(shí)內(nèi)容,已有的c++源碼不一定能直接編譯,要考慮android平臺(tái)特性,特別是需要jni調(diào)用的地方,需要指定jvm指針;編譯則涉及到android平臺(tái)的makefile了,不好一兩句話(huà)說(shuō)清楚,對(duì)于要融合鏈接caffe&opencv,則還有靜態(tài)庫(kù)共享庫(kù)之分,需要更深的ndk專(zhuān)業(yè)知識(shí)了,推薦一本書(shū)給你《Pro Android C++with the NDK》2、安卓調(diào)用就是jni調(diào)用了,上邊這本書(shū)也會(huì)涉及。祝你成功!
回答2:Android 調(diào)用 c++ 的代碼,需要把 c++ 代碼編譯成 .so 庫(kù)文件去調(diào)用,可以查閱相關(guān)的知識(shí): JNI、Android NDK。下面這篇文章是比較基礎(chǔ)的,可以先按照里面的步驟動(dòng)手實(shí)踐一下。android studio 編譯C生成.so文件
相關(guān)文章:
1. Span標(biāo)簽2. docker-machine添加一個(gè)已有的docker主機(jī)問(wèn)題3. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””4. docker-compose中volumes的問(wèn)題5. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問(wèn)題。6. python - django如何每次調(diào)用標(biāo)簽的時(shí)候都取隨機(jī)數(shù)據(jù)7. SessionNotFoundException:會(huì)話(huà)ID為null。調(diào)用quit()后使用WebDriver嗎?(硒)8. redis啟動(dòng)有問(wèn)題?9. android新手一枚,android使用httclient獲取服務(wù)器端數(shù)據(jù)失敗,但是用java工程運(yùn)行就可以成功獲取。10. java - Collections類(lèi)里的swap函數(shù),源碼為什么要新定義一個(gè)final的List型變量l指向傳入的list?
