运行demo找不到动态库为啥,是动态库没生成吗?
11-08 11:52:31.864 10343-14246/? E/dalvikvm: dlopen("/data/app-lib/com.yuyh.inc.update-1/libApkPatchLibrary.so") failed: dlopen failed: cannot locate symbol "signal" referenced by "libApkPatchLibrary.so"...
11-08 11:52:31.894 10343-14246/? E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
Process: com.yuyh.inc.update, PID: 10343
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:300)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "signal" referenced by "libApkPatchLibrary.so"...
at java.lang.Runtime.loadLibrary(Runtime.java:364)
at java.lang.System.loadLibrary(System.java:526)
at com.yyh.lib.bsdiff.DiffUtils.
使用小米3移动版手机
build.gradle下要修改,编译jni。 库里面有提供so库,也可直接使用。
使用小米3移动版手机
跟这个应该没关系吧。
刚试了下,用小米5s没问题。 小米 3用的 英伟达 的cpu. 是不是 这个 不太兼容
编译jni可以选择目标平台的。默认是armbi,也可以加入x86 x86_64这些。只要C的代码能兼容就行~
armbi 的话,理论是所有平台都可以的吧。 我用的小米3 ,还有个努比亚的 都不行。BAT是如何 兼容 这些的 呢
@bjhexn 貌似系统检察ELF文件中的e_machine字段的值,armeabi也并非完全兼容吧,可以尝试吧各个平台的都编译一下。 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'