alibaba / AndFix

AndFix is a library that offer hot-fix for Android App.
Other
6.97k stars 1.6k forks source link

小米手机UnsatisfiedLinkError #61

Open lansign opened 9 years ago

lansign commented 9 years ago

小米手机UnsatisfiedLinkError,个例么?

java.lang.UnsatisfiedLinkError: No implementation found for boolean com.alipay.euler.andfix.AndFix.setup(boolean, int) (tried Java_com_alipay_euler_andfix_AndFix_setup and Java_com_alipay_euler_andfix_AndFix_setup__ZI)
    at com.alipay.euler.andfix.AndFix.setup(Native Method)
    at com.alipay.euler.andfix.AndFix.setup(Unknown Source)
    at com.alipay.euler.andfix.c.a(Unknown Source)
    at com.alipay.euler.andfix.a.<init>(Unknown Source)
    at com.alipay.euler.andfix.a.b.<init>(Unknown Source)
zhy1905 commented 9 years ago

@lansign andfix包都不能混淆

lansign commented 9 years ago

@gdgm123 不是混淆的原因,因为在其它机器上都是没问题的

附上混淆的代码

-keep class com.alipay.euler.andfix.AndFix { *; }
-keep class com.alipay.euler.andfix.annotation.MethodReplace { *; }
-keep class * extends java.lang.annotation.Annotation
-keepclasseswithmembernames class * {
    native <methods>;
}
hwjump commented 8 years ago

Your so didn't load

lsjwzh commented 8 years ago

有可能是你的有些依赖库有arm-v7目录,而and-fix没有。对于这种情况。你需要手动复制一份到arm-v7目录下

lansign commented 8 years ago

@lsjwzh

如果默认的arm不支持arm-v7,那应该

否则,存在多大的兼容性问题都未可知。

dengluoy commented 8 years ago

6915-6915/xxx E/AndFix: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/system/framework/android.test.runner.jar", zip file "/data/app/xxx-1/base.apk"],nativeLibraryDirectories=[/data/app/xxx-1/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libandfix.so" 11-12 18:21:41.076 6915-6915/com.tujia.hotel E/AndFix: at java.lang.Runtime.loadLibrary(Runtime.java:366) 11-12 18:21:41.076 6915-6915/com.tujia.hotel E/AndFix: at java.lang.Runtime.loadLibrary(Runtime.java:352) 11-12 18:21:41.076 6915-6915/com.tujia.hotel E/AndFix: at com.alipay.euler.andfix.AndFix.(AndFix.java:37) 11-12 18:21:41.076 6915-6915/com.tujia.hotel E/AndFix: at com.alipay.euler.andfix.Compat.isSupport(Compat.java:45) 11-12 18:21:41.076 6915-6915/com.tujia.hotel E/AndFix: at com.alipay.euler.andfix.AndFixManager.(AndFixManager.java:74) 11-12 18:21:41.076 6915-6915/com.tujia.hotel E/AndFix: at com.alipay.euler.andfix.patch.PatchManager.(PatchManager.java:77) 11-12 18:21:41.076 6915-6915/com.tujia.hotel E/AndFix: at com.tujia.hotel.TuJiaApplication.onCreate(TuJiaApplication.java:260) 11-12 18:21:41.076 6915-6915/com.tujia.hotel E/AndFix: at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1016) 11-12 18:21:41.076 6915-6915/com.tujia.hotel E/AndFix: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4763) 11-12 18:21:41.076 6915-6915/com.tujia.hotel E/AndFix: at android.app.ActivityThread.access$1500(ActivityThread.java:167) 11-12 18:21:41.076 6915-6915/com.tujia.hotel E/AndFix: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1480) 11-12 18:21:41.076 6915-6915/com.tujia.hotel E/AndFix: at android.os.Handler.dispatchMessage(Handler.java:111)

我使用gradle引用的为什么会找不到Library包。 但是这个项目libs文件下所有处理器版本对应的文件我都有。是不是有可能冲突了,??

xujinyang commented 8 years ago

Fatal Exception: java.lang.UnsatisfiedLinkError: Native method not found: com.alipay.euler.andfix.AndFix.setup:(ZI)Z at com.alipay.euler.andfix.AndFix.setup(SourceFile) at com.alipay.euler.andfix.AndFix.setup(SourceFile:113) at com.alipay.euler.andfix.Compat.isSupport(SourceFile:45) at com.alipay.euler.andfix.AndFixManager.(SourceFile:74) at com.alipay.euler.andfix.patch.PatchManager.(SourceFile:78) at me.ele.crowdsource.service.update.AndFixService.(SourceFile:38) at me.ele.crowdsource.service.update.AndFixService.getInstance(SourceFile:26) at me.ele.crowdsource.context.ElemeApplicationContext.onMainApplicationCreate(SourceFile:67) at me.ele.crowdsource.context.ElemeApplicationContext.onCreate(SourceFile:51) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4661) at android.app.ActivityThread.access$1500(ActivityThread.java:155) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1391) at android.os.Handler.dispatchMessage(Handler.java:110) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:5423) at java.lang.reflect.Method.invokeNative(Method.java) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:855) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:671) at dalvik.system.NativeStart.main(NativeStart.java)

oppo 联想 系统的4.0同样会报这个问题

Toonaiveckuu3 commented 8 years ago

请问这个问题是如何解决的啊?如果解决能否告知? hengzhang126@126.com