Checking For A Valid Strong Name Signature
Giving a .NET Assembly a Strong Name
2015年1月22日
2015年1月2日
Android: NDK不支援有版本資訊的C程式庫?
Issue 55868: NDK: Support for prebuild libs with full sonames
近日遇到奇怪的問題;好不容易從某Linux Open Sourses原始碼編譯成程式庫.so,正在高興終於編好時,從Andorid載入時竟發生找不到Libxxxx.so.4 程式庫?
Google半天,終於問對問題找到答案,學會該怎麼serch問題還真是不易呀!
原來Linux系統的程式庫soname有所謂版本資訊,例如Libxxx.so.4.4.8。Linux用兩個Libxxx.so和Libxxx.so.4(Symbol Link)連結到Libxxx.so.4.4.8,但Android的Linker目前並未支援。若只是將Libxxx.so.4.4.8改名成Libxxx.so複製過去,用 readelf -d Libxxx.so 檢視其soname還是Libxxx.so.4,沒有用的!
近日遇到奇怪的問題;好不容易從某Linux Open Sourses原始碼編譯成程式庫.so,正在高興終於編好時,從Andorid載入時竟發生找不到Libxxxx.so.4 程式庫?
Google半天,終於問對問題找到答案,學會該怎麼serch問題還真是不易呀!
原來Linux系統的程式庫soname有所謂版本資訊,例如Libxxx.so.4.4.8。Linux用兩個Libxxx.so和Libxxx.so.4(Symbol Link)連結到Libxxx.so.4.4.8,但Android的Linker目前並未支援。若只是將Libxxx.so.4.4.8改名成Libxxx.so複製過去,用 readelf -d Libxxx.so 檢視其soname還是Libxxx.so.4,沒有用的!
訂閱:
文章 (Atom)