Android Fabric 分布式调试版本:java.lang.UnsatisfiedLinkError
Android Fabric distributed debug build: java.lang.UnsatisfiedLinkError
我的 Android 应用程序中有一些本机代码可以在我的设备 (Samsung Galaxy S3) 上完美运行。我已经创建了一个调试构建并对其进行了签名,并将 APK 发送给我的朋友进行测试。该应用程序在他的设备 (Sony Xperia Z3 Compact) 上启动,并在第一次调用本机组件时崩溃。在 Fabric 中,我看到以下堆栈跟踪:
Fatal Exception: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__aeabi_memclr" referenced by "/data/app/com.myapp.myapp-1/lib/arm/libmyAppNative.so"...
at java.lang.Runtime.loadLibrary(Runtime.java:372)
at java.lang.System.loadLibrary(System.java:1076)
at com.myapp.system.Native.<clinit>(Native.java:9)
...
为什么在 Fabric 上使用相同风格(调试)的本机组件在他的设备上 运行 失败,而在我的设备上 运行 却完美无缺?
部分原因是 Error loading package (JNI) - cannot locate symbol "__aeabi_memcpy" 的链接问题。
那里的回答说这个问题只出现在SDK版本24上,我的情况是不正确的。问题仍然存在于 SDK 版本 25。
我已通过恢复到 SDK 版本 23 解决了 问题。但是,这个问题仍未解决,这是 Google 方面的问题尽快修复它。
我的 Android 应用程序中有一些本机代码可以在我的设备 (Samsung Galaxy S3) 上完美运行。我已经创建了一个调试构建并对其进行了签名,并将 APK 发送给我的朋友进行测试。该应用程序在他的设备 (Sony Xperia Z3 Compact) 上启动,并在第一次调用本机组件时崩溃。在 Fabric 中,我看到以下堆栈跟踪:
Fatal Exception: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__aeabi_memclr" referenced by "/data/app/com.myapp.myapp-1/lib/arm/libmyAppNative.so"...
at java.lang.Runtime.loadLibrary(Runtime.java:372)
at java.lang.System.loadLibrary(System.java:1076)
at com.myapp.system.Native.<clinit>(Native.java:9)
...
为什么在 Fabric 上使用相同风格(调试)的本机组件在他的设备上 运行 失败,而在我的设备上 运行 却完美无缺?
部分原因是 Error loading package (JNI) - cannot locate symbol "__aeabi_memcpy" 的链接问题。
那里的回答说这个问题只出现在SDK版本24上,我的情况是不正确的。问题仍然存在于 SDK 版本 25。
我已通过恢复到 SDK 版本 23 解决了 问题。但是,这个问题仍未解决,这是 Google 方面的问题尽快修复它。