編輯:關於Android編程
錯誤信息
Trying to load lib /data/data/com.sohu.inputmethod.sogou/files/.dict/sogouime 0x414e83e8
D/dalvikvm(536): Shared lib '/data/data/com.sohu.inputmethod.sogou/files/.dict/sogouime',handle is null :1
E/dalvikvm(536): fail detail:Cannot load library: reloc_library[1306]: 104 cannot locate '_ZN7android7String8C1EPKtj'..
遇到這種情況就是在依賴so庫中沒有查找到“_ZN7android7String8C1EPKtj'”這個符號
1.正向查找
這裡的依賴庫是libutils.so,通過下面命令查找
objdump -tT libutils .so | grep ZN7android7String8C1EPKtj'
通過查找,確實是不存在這個符號。
2. 逆向查找問題
1 > 查找以前的so庫發現
objdump -tT libutils .so | grep ZN7android7String8C1EPKtj
能過找到符合
2 > 通過地址找對應的函數名
nm –C –D libutils.so |grep 001c0f1
這樣我們查找到對應的函數名
3 > 有問題的so庫中查找對應的函數名
nm –C –D libutils.so |grep android::String8::String8
發現不能夠查找到String8::String8(unsigned short const*,unsigned int)
但是能夠查找到String8::String8(char16_t const*,unsigned int),通過分析char16_t的原始類型就是unsigned short ,但是這裡卻沒有編譯成原始類型。
查看最新的C++標准(ISO C++11)的主要變動 新增關鍵字:char16_t、char32_t,.......
也就是說出錯的libutis庫中的libutils.so庫是用按照最新的C++標准編譯的,
自此問題的原因找到了
1.普通側滑效果圖:思路:通過自定義View繼承HorizontalScrollView,然後重寫onMeasure(),onLayout(),onTouchEvent(
1. View 樹的繪圖流程當 Activity 接收到焦點的時候,它會被請求繪制布局,該請求由Android framework 處理.繪制是從根節點開始,
一、前言對於APK裡面的Resources.arsc文件大家應該都知道是干什麼的,它實際上就是App的資源索引表。下面我會結合實例對它的格式做一下剖析,讀完這篇文章應該能
前言內存洩漏簡單地說就是申請了一塊內存空間,使用完畢後沒有釋放掉。它的一般表現方式是程序運行時間越長,占用內存越多,最終用盡全部內存,整個系統崩潰。由程序申請的一塊內存,