android sdk api没有x86,安卓libsec.so有x86版本吗?

下面是用x86模拟器出现的错误:

09-11 10:01:37.016 2668-2668/com.example.mahaiting.myapplication E/AndroidRuntime: FATAL EXCEPTION: main

Process: com.example.mahaiting.myapplication, PID: 2668

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.mahaiting.myapplication-pcLMkgwMo64NoZ1-ft__KA==/base.apk", zip file "/data/app/com.example.mahaiting.myapplication-pcLMkgwMo64NoZ1-ft__KA==/split_lib_dependencies_apk.apk", zip file "/data/app/com.example.mahaiting.myapplication-pcLMkgwMo64NoZ1-ft__KA==/split_lib_slice_0_apk.apk", zip file "/data/app/com.example.mahaiting.myapplication-pcLMkgwMo64NoZ1-ft__KA==/split_lib_slice_1_apk.apk", zip file "/data/app/com.example.mahaiting.myapplication-pcLMkgwMo64NoZ1-ft__KA==/split_lib_slice_2_apk.apk", zip file "/data/app/com.example.mahaiting.myapplication-pcLMkgwMo64NoZ1-ft__KA==/split_lib_slice_3_apk.apk", zip file "/data/app/com.example.mahaiting.myapplication-pcLMkgwMo64NoZ1-ft__KA==/split_lib_slice_4_apk.apk", zip file "/data/app/com.example.mahaiting.myapplication-pcLMkgwMo64NoZ1-ft__KA==/split_lib_slice_5_apk.apk", zip file "/data/app/com.example.mahaiting.myapplication-pcLMkgwMo64NoZ1-ft__KA==/split_lib_slice_6_apk.apk", zip file "/data/app/com.example.mahaiting.myapplication-pcLMkgwMo64NoZ1-ft__KA==/split_lib_slice_7_apk.apk", zip file "/data/app/com.example.mahaiting.myapplication-pcLMkgwMo64NoZ1-ft__KA==/split_lib_slice_8_apk.apk", zip file "/data/app/com.example.mahaiting.myapplication-pcLMkgwMo64NoZ1-ft__KA==/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.example.mahaiting.myapplication-pcLMkgwMo64NoZ1-ft__KA==/lib/x86, /system/lib, /system/vendor/lib]]] couldn't find "libsec.so"

at java.lang.Runtime.loadLibrary0(Runtime.java:1011)

at java.lang.System.loadLibrary(System.java:1657)

at com.uzmap.pkg.uzcore.external.Enslecb.(Enslecb.java:20)

at com.uzmap.pkg.uzcore.external.Enslecb.xsm(Enslecb.java:162)

at com.uzmap.pkg.uzcore.external.g.b(NativeWrapper.java:149)

at com.uzmap.pkg.uzcore.d.a(InternalDelegate.java:101)

at com.uzmap.pkg.uzapp.UZApplication.onCreate(UZApplication.java:23)

at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1118)

at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5790)

at android.app.ActivityThread.-wrap1(Unknown Source:0)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1661)

at android.os.Handler.dispatchMessage(Handler.java:105)

at android.os.Looper.loop(Looper.java:164)

at android.app.ActivityThread.main(ActivityThread.java:6540)

at java.lang.reflect.Method.invoke(Native Method)

at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码是一个函数`storage_write`,它用于将数据写入安全存储中。让我逐行解释一下代码的功能: 1. `int res = SEC_SUCCESS;` - 定义函数的返回值,用于存储函数执行结果。 2. `std::string obj_id_str = {};` - 创建一个空的字符串变量`obj_id_str`,用于存储用户输入的对象ID。 3. `std::cout << "Please input object id():" << std::endl;` - 打印提示信息,要求用户输入对象ID。 4. `cin_string(obj_id_str);` - 调用`cin_string`函数,从标准输入中读取用户输入的对象ID,并将其存储在`obj_id_str`中。 5. `char id[obj_id_str.length() + 1] = {0};` - 创建一个字符数组`id`,长度为`obj_id_str`的长度加1,并将其初始化为0。 6. `obj_id_str.copy(id, obj_id_str.length(), 0);` - 将`obj_id_str`中的内容复制到字符数组`id`中。 7. `std::vector<unsigned char> obj_data;` - 创建一个无符号字符向量`obj_data`,用于存储用户输入的数据。 8. `if (0 != aes_cin_data(obj_data))` - 调用`aes_cin_data`函数,从标准输入中读取用户输入的数据,并将其存储在`obj_data`中。如果读取出错,则打印错误信息并返回。 9. `char *data = (char *)malloc(obj_data.size());` - 分配一块内存,大小为`obj_data`的大小,并将返回的指针赋值给`data`。如果分配失败,则返回。 10. `for(uint32_t i = 0; i < obj_data.size(); i++)` - 循环遍历`obj_data`中的每个元素。 11. `data[i] = (char)obj_data[i];` - 将`obj_data`中的每个元素转换为字符,并将其存储在`data`中的对应位置。 12. `res = libsec_storage_write_data(id, data, obj_data.size());` - 调用`libsec_storage_write_data`函数,将对象ID和数据写入安全存储。将函数返回值赋给`res`。 13. `if (res != SEC_SUCCESS)` - 检查函数返回值是否为成功状态。 14. `printf("Failed to create an object in the secure storage\n");` - 如果创建对象失败,则打印错误信息。 15. `else printf("Write the object success\n");` - 如果创建对象成功,则打印成功信息。 16. `free(data);` - 释放之前分配的内存。 17. `return;` - 结束函数的执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值