[問題] 要怎麼使用和ASOP一起編出來的.so檔
大家好
目前想要實作螢幕截圖的app
上網找到了http://ppt.cc/la~2 這個範例
我將他的JNI資料夾裡面的.cpp .h 和 Android.mk
放到android source code裡面的external/screencap資料夾
然後用mm去編(我事先有先編好整個android system了,版本是2.3.3_r1)
也編出了一個libscrcap.so在out/target/product/generic/system/lib/裡
然後我將這個libscrcap.so檔複製到我的eclipse下新開的project裡的libs/armeabi/裡
然後將範例的java檔放到project裡面,manifest權限也有照範例加了
但是我沒有將Android.mk放到project裡面
就這樣我把apk裝到平板上測試
當我按下button sendBroadcast之後
Receiver就會跳錯
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檔呢??
謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.156.58
推
08/12 20:15, , 1F
08/12 20:15, 1F
→
08/13 15:55, , 2F
08/13 15:55, 2F
→
08/13 16:17, , 3F
08/13 16:17, 3F
→
08/13 17:10, , 4F
08/13 17:10, 4F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 5 篇):