作者iincho (世界的尽头)
看板AndroidDev
标题Re: [问题] 要怎麽使用和ASOP一起编出来的.so档
时间Mon Aug 13 16:04:41 2012
※ 引述《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
1F:推 Shihsuang:我有加System.loadLibrary,看起来是在load的时候跳错的 08/14 18:04
2F:→ Shihsuang:另外我执行的环境是TF101 android 4.0.3 08/14 18:05
3F:→ Shihsuang:当初我在编译的时候,有用过android4.0.1编过,但是跳出 08/14 18:06
4F:→ Shihsuang:error: undefined reference to android::ISurfaceCompo 08/14 18:07
5F:→ Shihsuang:ser::asInterface(android::sp<android::IBinder> const 08/14 18:07
6F:→ Shihsuang:&)这个错误 跟执行时的错误好像是同样原因?? 08/14 18:08