jni開發(fā)遇到的一些坑

2018-03-31

找不到j(luò)ni導(dǎo)出的函數(shù)??

今天和開發(fā)伙伴做智能眼鏡的對(duì)接州胳。我需要把一個(gè)同事用c++寫的tcp服務(wù)器編譯為.so動(dòng)態(tài)庫并用java通過jni封裝起來,給合作伙伴使用逸月,總之給他們提供jar包和.so動(dòng)態(tài)庫...但因?yàn)槭窃谥悄苎坨R里運(yùn)行栓撞,而智能眼鏡是android4.3,我在android studio里編譯的jar包居然因?yàn)閜roguard版本不同碗硬,而無法調(diào)用瓤湘。我一想,只有一個(gè)java文件恩尾,我就不編譯了弛说,直接給他,讓他自己加入項(xiàng)目里翰意,這總歸沒有編譯格式不同的問題了把木人。結(jié)果是成功加載了.so庫,但找不到導(dǎo)出的函數(shù)冀偶!但我用nm查看.so庫醒第,卻是有的!@#¥@....什么情況进鸠?稠曼?

后來想明白了,因?yàn)閖ni的接口格式是這樣的:包名類名函數(shù)名客年,而在java類里是直接調(diào)用函數(shù)名霞幅,忽略包名和類名的。把調(diào)用.so庫的java類直接放到項(xiàng)目中編譯搀罢,因?yàn)榘兞嘶柔匀皇钦也坏絡(luò)ni接口的(.so庫的導(dǎo)出函數(shù))

c++里調(diào)用GetMethodID時(shí)拋出NoSuchMethodError異常

在手機(jī)里運(yùn)行,沒有這個(gè)異常榔至,而在眼鏡里運(yùn)行抵赢,卻找不到j(luò)ava函數(shù)...又什么情況?弄了半天,后來才想到是不是因?yàn)檠坨R的項(xiàng)目包含jar包后release編譯铅鲤,把在java層里沒有調(diào)用到的函數(shù)優(yōu)化掉了划提,因?yàn)檫@幾個(gè)java函數(shù)是作為c++的回調(diào)函數(shù),只在.so庫里調(diào)用的邢享。立馬動(dòng)手鹏往,在java里先調(diào)用了這幾個(gè)函數(shù)后,果然可以在.so庫里通過GetMethodID找到了!!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末骇塘,一起剝皮案震驚了整個(gè)濱河市伊履,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌款违,老刑警劉巖唐瀑,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異插爹,居然都是意外死亡哄辣,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門赠尾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來力穗,“玉大人,你說我怎么就攤上這事气嫁〉贝埃” “怎么了?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵寸宵,是天一觀的道長超全。 經(jīng)常有香客問我,道長邓馒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任蛾坯,我火速辦了婚禮光酣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘脉课。我一直安慰自己救军,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布倘零。 她就那樣靜靜地躺著唱遭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪呈驶。 梳的紋絲不亂的頭發(fā)上拷泽,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼司致。 笑死拆吆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的脂矫。 我是一名探鬼主播枣耀,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼庭再!你這毒婦竟也來了捞奕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤拄轻,失蹤者是張志新(化名)和其女友劉穎颅围,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體哺眯,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谷浅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了奶卓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片一疯。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖夺姑,靈堂內(nèi)的尸體忽然破棺而出墩邀,到底是詐尸還是另有隱情,我是刑警寧澤盏浙,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布眉睹,位于F島的核電站,受9級(jí)特大地震影響废膘,放射性物質(zhì)發(fā)生泄漏竹海。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一丐黄、第九天 我趴在偏房一處隱蔽的房頂上張望斋配。 院中可真熱鬧,春花似錦灌闺、人聲如沸艰争。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽甩卓。三九已至,卻和暖如春蕉斜,著一層夾襖步出監(jiān)牢的瞬間逾柿,已是汗流浹背缀棍。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鹿寻,地道東北人睦柴。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像毡熏,于是被迫代替她去往敵國和親坦敌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • 能不能這種問題痢法,最好不要問別人狱窘。 1. 不能問別人的問題 能不能這種問題,最好不要問別人财搁。為什么呢蘸炸?假設(shè)別人說你...
    張公子在這等你閱讀 217評(píng)論 3 1
  • 內(nèi)容根據(jù)鄭伊廷 xdite 2018.02.21 在007財(cái)富53班新春好禮課程《如何鑒別區(qū)塊鏈?zhǔn)澜绲臋C(jī)會(huì)》分享整...
    Guo_21閱讀 916評(píng)論 -3 2
  • 紐扣(服裝配件、飾物) 起源: 紐扣尖奔,在古羅馬搭儒,最初的紐扣是用來做裝飾品的,而系衣服用的是飾針提茁。13世紀(jì)淹禾,紐扣的作...
    紫漠的夢(mèng)想森林閱讀 670評(píng)論 0 1
  • 命運(yùn)可以重頭來過,生命可以重新開始茴扁。 ——每個(gè)人心中都有自己的無極天地 十二年前的國內(nèi)電影賀歲檔铃岔,...
    S姑娘在路上閱讀 908評(píng)論 0 2
  • 蒼殃這一昏迷便是七天七夜。 他醒來的時(shí)候峭火,顧三梨正無聊的蹲在路邊數(shù)螞蟻毁习,離羽宮的人一臉肅穆,人人都像是被拖欠了幾千...
    初荼閱讀 392評(píng)論 0 0