出问题代码片段如下:
Class cls = null;
try {
cls = Class.forName("ohos.system.version.SystemVersion");
String string = cls.getMethod("getApiVersion", new Class[0]).invoke(cls, new Object[0]).toString();
Toast.makeText(this, string, Toast.LENGTH_SHORT).show();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
代码逻辑也比较简单,通过反射调用SystemVersion的getApiVersion方法,获取HarmonyOs系统的api level。这段代码在正常的64位运行的应用没有问题,但是在32位的应用上就会有异常了。
大体的报错堆栈如下:
08-05 15:11:49.748 2734 2734 E AndroidRuntime: java.lang.UnsatisfiedLinkError: No implementation found for