亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 13817 | 回復(fù): 6
打印 上一主題 下一主題

[Android] [Android] 請(qǐng)教android對(duì)so庫(kù)的加載與調(diào)用 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2015-07-18 11:02 |只看該作者 |倒序?yàn)g覽
本帖最后由 kingroc711 于 2015-07-18 16:09 編輯

一、小弟在使用第三方的.so庫(kù)做android開(kāi)發(fā),發(fā)現(xiàn)僅僅放到AndroidProject/libs/armeabi/libminivenus.so這個(gè)位置,使用System.loadLibrary加載起來(lái)可以正常使用。
二、庫(kù)的名字必須是libminivenus.so,不可以改名字。也不可以使用System.load從其他地方加載(非SD卡)。如果將庫(kù)的名字或者加載位置改動(dòng),加載可以成功,但調(diào)用的jni接口就返回錯(cuò)誤。
三、小弟發(fā)現(xiàn)libminivenus.so中確實(shí)有l(wèi)ibminivenus的字段,將庫(kù)的名字與該字段一起修改結(jié)果無(wú)效。
四、小弟請(qǐng)教這是第三方庫(kù)做的什么限制呢。

論壇徽章:
39
白銀圣斗士
日期:2015-11-24 10:40:40酉雞
日期:2015-03-20 14:15:44寅虎
日期:2015-03-20 14:13:59午馬
日期:2015-03-20 14:13:16白羊座
日期:2015-03-20 14:12:54金牛座
日期:2015-03-20 14:12:09雙子座
日期:2015-03-20 14:11:57巨蟹座
日期:2015-03-20 14:11:44獅子座
日期:2015-03-20 14:11:29亥豬
日期:2015-03-20 14:16:24戌狗
日期:2015-03-20 14:16:40申猴
日期:2015-03-20 14:17:05
2 [報(bào)告]
發(fā)表于 2015-07-18 14:00 |只看該作者
android4.x之后已經(jīng)限制so不能從sdcard加載,但是可以從其他目錄加載.
so庫(kù)不是簡(jiǎn)單的改一個(gè)字符串就行的.
如果加載成功,調(diào)用出錯(cuò),那說(shuō)明確實(shí)做了位置判斷,不過(guò)真的很少會(huì)有這樣的需求,一般常見(jiàn)的是會(huì)做包名判斷,自身完整性校驗(yàn)

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2015-07-18 16:03 |只看該作者
回復(fù) 2# rover12421


    您好:
  
            我使用System.load是可以動(dòng)態(tài)加載的(非SD卡),但是在調(diào)用函數(shù)的時(shí)候,卻返回失敗。請(qǐng)問(wèn)so是如何做位置判斷的呢?
           

論壇徽章:
39
白銀圣斗士
日期:2015-11-24 10:40:40酉雞
日期:2015-03-20 14:15:44寅虎
日期:2015-03-20 14:13:59午馬
日期:2015-03-20 14:13:16白羊座
日期:2015-03-20 14:12:54金牛座
日期:2015-03-20 14:12:09雙子座
日期:2015-03-20 14:11:57巨蟹座
日期:2015-03-20 14:11:44獅子座
日期:2015-03-20 14:11:29亥豬
日期:2015-03-20 14:16:24戌狗
日期:2015-03-20 14:16:40申猴
日期:2015-03-20 14:17:05
4 [報(bào)告]
發(fā)表于 2015-07-20 09:45 |只看該作者
回復(fù) 3# kingroc711


    可以讀取自己的map表,或再指定的位置查找指定文件名的文件時(shí)候存在.
    安裝好的apk.so都釋放再/data/app/packageName/libs下面.這個(gè)libs一般是一個(gè)軟連接,每個(gè)系統(tǒng)版本都可能不一樣,但是查找的時(shí)候不用關(guān)心,直接用軟連接查找就ok了

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2015-07-21 16:27 |只看該作者
回復(fù) 4# rover12421


    實(shí)習(xí)版主您好:


                  你好像沒(méi)有看明白我的帖子的意思,或者是我沒(méi)有寫清楚,要不你先看看帖子再做交流,你都回復(fù)兩貼了。
                  還有您上樓說(shuō)的.so獲取自己的加載位置讀取map就可以獲得嗎?請(qǐng)問(wèn)android程序中的.so,如何自己讀自己的map呢?
     
                                                                                                                                                如何解決不勝感激涕零。

論壇徽章:
39
白銀圣斗士
日期:2015-11-24 10:40:40酉雞
日期:2015-03-20 14:15:44寅虎
日期:2015-03-20 14:13:59午馬
日期:2015-03-20 14:13:16白羊座
日期:2015-03-20 14:12:54金牛座
日期:2015-03-20 14:12:09雙子座
日期:2015-03-20 14:11:57巨蟹座
日期:2015-03-20 14:11:44獅子座
日期:2015-03-20 14:11:29亥豬
日期:2015-03-20 14:16:24戌狗
日期:2015-03-20 14:16:40申猴
日期:2015-03-20 14:17:05
6 [報(bào)告]
發(fā)表于 2015-07-23 10:28 |只看該作者
回復(fù) 5# kingroc711


    我說(shuō)的只是方案只一,做校驗(yàn)并不一定非的要這個(gè)方案.
既然你想知道這個(gè)方案的具體實(shí)現(xiàn),我就再細(xì)說(shuō)下
要獲取自己的map表其實(shí)很簡(jiǎn)單.直接讀取`/proc/self/maps`這個(gè)文件即可.其中的self也可以用getpid()來(lái)活取pid,修改成`/proc/$(pid)/maps`來(lái)讀取,結(jié)果是一樣的.
然后就是行遍歷,字符串截取了,你看幾個(gè)maps文件就知道了,里面有當(dāng)前程序所有加載的動(dòng)態(tài)庫(kù)文件路徑,如果要用maps做校驗(yàn),觀察下就能得出,app的so都是放在`/data/data/$(packageName)/lib`下面,但是再maps可能看到并不是這個(gè)文件,但也是有規(guī)律的,這個(gè)規(guī)律和版本也有一定關(guān)系.maps顯示的路徑一般是軟連接的真實(shí)路徑.
比如4.4的是`/data/app-lib/$(packageName)-[1|2]/`,不管這個(gè)路徑怎么變化,系統(tǒng)的規(guī)則里面一定有packageName,簡(jiǎn)單判斷路徑中是否有packageName就能做到一次判斷,如果要做的跟好,就的精確一點(diǎn)了.

論壇徽章:
59
2015七夕節(jié)徽章
日期:2015-08-24 11:17:25ChinaUnix專家徽章
日期:2015-07-20 09:19:30每周論壇發(fā)貼之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38榮譽(yù)版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年紀(jì)念徽章
日期:2015-07-20 11:05:27IT運(yùn)維版塊每日發(fā)帖之星
日期:2015-07-20 11:05:34操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-07-20 11:05:36程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-07-20 11:05:40數(shù)據(jù)庫(kù)技術(shù)版塊每日發(fā)帖之星
日期:2015-07-20 11:05:432015年辭舊歲徽章
日期:2015-07-20 11:05:44
7 [報(bào)告]
發(fā)表于 2015-08-11 15:44 |只看該作者
JNI在調(diào)用時(shí)對(duì)文件命名確實(shí)有一定的規(guī)則,不能隨便改。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP