看板 AndroidDev 關於我們 聯絡資訊
大家好 目前想要實作螢幕截圖的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
Assyla:你這個.so檔也有放在平板電腦裡的 system/lib 裡? 08/12 20:15
Shihsuang:沒有耶 有辦法放在自己的資料夾裡面讀嗎?? 08/13 15:55
Assyla:有root的話,應該能adb remount, adb push進去吧 08/13 16:17
Shihsuang:我放進去了,但是他還是顯示一樣的錯誤 08/13 17:10