Re: [問題] 要怎麼使用和ASOP一起編出來的.so檔

看板AndroidDev作者 (世界的盡頭)時間13年前 (2012/08/13 16:04), 編輯推噓1(105)
留言6則, 1人參與, 最新討論串2/5 (看更多)
※ 引述《Shihsuang (小新)》之銘言: : D/dalvikvm(2076): Trying to load lib : /data/data/com.cust.android.screencap/lib/libscrcap.so 0x410ce038 : W/dalvikvm(2076): Exception Ljava/lang/UnsatisfiedLinkError; thrown while : initializing Lcom/cust/android/screencap/ScreenCap; : E/AndroidRuntime(2076): FATAL EXCEPTION: main : E/AndroidRuntime(2076): java.lang.ExceptionInInitializerError : ........(中間略)......... : E/AndroidRuntime(2076): Caused by: java.lang.UnsatisfiedLinkError: Cannot : load library: reloc_library[1285]:88 cannot locate : '_ZN7android16ISurfaceComposer11asInterfaceERKNS_2spINS_7IBinderEEE'... : E/AndroidRuntime(2076): at java.lang.Runtime.loadLibrary(Runtime.java:370) : E/AndroidRuntime(2076): at java.lang.System.loadLibrary(System.java:535) : E/AndroidRuntime(2076): at : com.cust.android.screencap.ScreenCap.<clinit>(ScreenCap.java:16) : E/AndroidRuntime(2076): ... 12 more : 我的平板也有root過,但是不知道該怎麼去要求root權限 : 我試過用Runtime.getRuntime().exec("su")放在onReceive()裡 : 但是會跳一樣的錯 : 想請問該如何才能讓他load到那個.so檔呢?? : 謝謝!! 你要用這個.so的Java class有加上LoadLibrary嗎? public class foo{ static { System.loadLibrary("Lib_name_without_so"); } } 另外這隻程式看起並不需要root,因為他是直接向surfaceflinger 要資料。 -- Beware of bugs in the above code; I have only proved it correct, not tried it. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.193.107

08/14 18:04, , 1F
我有加System.loadLibrary,看起來是在load的時候跳錯的
08/14 18:04, 1F

08/14 18:05, , 2F
另外我執行的環境是TF101 android 4.0.3
08/14 18:05, 2F

08/14 18:06, , 3F
當初我在編譯的時候,有用過android4.0.1編過,但是跳出
08/14 18:06, 3F

08/14 18:07, , 4F
error: undefined reference to android::ISurfaceCompo
08/14 18:07, 4F

08/14 18:07, , 5F
ser::asInterface(android::sp<android::IBinder> const
08/14 18:07, 5F

08/14 18:08, , 6F
&)這個錯誤 跟執行時的錯誤好像是同樣原因??
08/14 18:08, 6F
文章代碼(AID): #1GABKT0o (AndroidDev)
討論串 (同標題文章)
文章代碼(AID): #1GABKT0o (AndroidDev)