- 博客(20)
- 资源 (2)
- 收藏
- 关注
原创 error: undefined reference to ‘typeinfo for android::RefBase‘ hidl_death_recipient
HIDL设置死亡通知时出现错误:typeinfo for android::hardware::hidl_death_recipient: error: undefined reference to 'typeinfo for android::RefBase'这是因为hidl_death_recipient的子类编译的时候加开启了RTTI, 把这个类放到没有开启RTTI的模块进行编译即可解决问题...
2021-05-18 15:00:04
1091
原创 SOMEIP笔记
someip服务启动失败,报错如下: [CAPI][ERROR] No stub adapter found. 原因: 没有廉价stub的动态链接库;
2021-05-11 17:00:23
247
原创 2021-04-21 Vsomeip相关问题整理
Vsomeip问题记录:1. 报socket文件找不到原因:配置文件中的Application下面的服务名称与export的VSOMEIP_APPLICATION_NAME名称不一致导致的;
2021-04-21 14:45:52
726
原创 Android系统相关文件解释说明
针对Android9.0系统:一. /system目录二. /data/目录1. 系统用户列表文件在: /data/system/users/userlist.xml
2020-10-24 10:17:13
730
原创 Android9.0 PMS(PackageManagerService)分析
一. system app扫描安装流程二. 通过pm install 命令程序安装流程
2020-10-24 09:18:58
447
原创 Android系统源码编译踩坑指南
1. mmm编译单个模块后,依赖于这个模块的其他模块出现异常崩溃,看异常堆栈能看到异常的函数调用(实际没有调用关系的代码,但是看异常堆栈却又调用关系)?答:重新编译依赖于这个模块的其他模块即可。这种现象出现于在一个模块进行了修改,修改的部分涉及到binder通信,然后binder通信的客户端会出现这种异常情况。2.export LC_ALL=C默认不是英语环境的,编译之前必须要设置这个环境变量...
2020-09-28 22:57:08
234
原创 HIDL进程间通信问题实践
1. 独立的客户端进程调用HIDL服务接口会使服务端创建独立的进程,客户端进程后续对HIDL的接口调用不会再影响服务端的进程ID不变,服务端的进程ID会保持,客户端的后续HIDL调用服务端会创建新的线程来处理。2. 不通的客户端进程调用同样的HIDL服务端会分别创建各自的服务端进程,因此服务端也就是不同的对象实例。...
2020-07-12 18:04:09
531
原创 从其他用户那里拷贝的.repo文件夹执行repo sync后失败原因
ubuntu从其他用户那里拷贝的 .repo文件夹,正常来说通过repo sync是可以直接检出所有的代码的,如果报错需要检查:首先修改你拷贝过来的文件的所有者权限,使用如下命令:sudo chown xxx:xxx .repo, 这里的xxx替换成你自己的用户id及用户组。修改完所有者后再执行repo sync就可以正常检出代码了。...
2020-06-15 12:36:37
972
原创 address2line 用法
arm-linux-androideabi-addr2line -C -f -e obj/local/armeabi/libXXX.so 006d372e这里的so库文件要用没有去符号的文件
2020-04-26 23:48:11
3502
原创 Android.mk转Android.bp
1. 保证androidmk文件存在,正常来说编译完成整个Android系统这个文件就会生成好,位置在:out/soong/host/linux-x86/bin/androidmk2. 使用该工具进行转换可以先设置环境变量:export PATH=/XXX/out/soong/host/linux-x86/bin:$PATHandroidmk Android.mk > A...
2020-04-24 11:34:02
298
原创 error: undefined reference to 'VTT for XXX问题解决
Android8.1系统编译HIDL的时候出现这个错误system/libhidl/transport/base/1.0/android.hidl.base@1.0_genc++_headers/gen/android/hidl/base/1.0/IBase.h:19: error: undefined reference to 'VTT for android::hardware::XXXX...
2020-04-13 23:07:08
2660
1
原创 _hidl_cb not called, but must be called once. 分析解决
_hidl_cb not called, but must be called once.日志中发现这种错误的原因是:A进程: 客户端进程B进程:客户端进程C进程:HIDL进程A向C注册了回调,C可以直接调用A注册的回调。B向C注册了回调, B如果需要调用A向C注册的回调,则需要C先接受到A的返回值,然后再把这个返回值通过回调返回到B进程。这里出现错误的原因就是...
2020-04-09 15:56:33
2133
原创 HIDL编译jar文件给apk调用
参考:https://www.pianshen.com/article/8772104324/本质就是在Android.mk中加入下面一句:LOCAL_JACK_ENABLED:=disabled
2020-04-08 20:13:57
1631
原创 c/c++开发笔记
一、socket连接中的select中的timeout参数设置描述:在建立socket连接后,使用select函数的时候,第三个参数是设置超时时间, 这个超时时间值在每一次调用之前都需要重新设置。原因:因为每一次select操作都可能会修改这个超时的时间值。结果:如果不重新设置就可能会出现长消息的接收会报超时,也就是接收不到长消息。...
2020-04-02 09:28:22
181
原创 ARM C通过malloc分配在堆上的内存空间的值在多线程情况下无法修改,一个memset可以解决
我在im8qm处理器上编译的程序,在一个函数内部通过malloc分配的内存空间的值大概率出现无法修改的情况,经分析发现,在该函数内部分配的堆内存已经在另外一个线程里面分配使用过, 这两次使用的堆空间刚好都是通一个结构体类型。在堆空间内存使用完毕后我进行了内存的free操作,并将变量指针的值赋值了NULL。但是后续的其他线程分配到改堆内存空间后,无法改变这里面的值。如下方法解决:...
2020-04-01 11:53:05
383
原创 strerror(errno)报错原因
报错内容如下:undefined reference to 'android::hardware::xxx::V1_0::implementation::__errno()'解决办法:删掉 extern int errno; 语句即可
2020-03-27 12:01:11
1154
原创 Android.bp添加编译好的so库
cc_prebuilt_library_shared { name: "newlib", target: { android_arm: { srcs: ["lib/newlib.so"], }, android_arm64: { ...
2020-03-26 14:04:33
3940
原创 C/C++返回值的分析
写C/C++代码,需要接收函数返回值的时候需要注意两点:1. 在调用函数中给要接收结果的变量分配好空间(堆或栈均可),然后该变量以引用或者指针的形式传递给被调用函数来接收结果。2. 在调用函数中只是定义一个指针来接收函数返回值,那么在被调用函数中需要确保这个接收返回值的变量的内存空间是在堆上面而不能是在栈上面。这样可以保证返回结果的正确性。如果返回值的内存空间是在栈上面,那么这个值在函数调...
2020-03-04 10:07:28
350
Android R(Android11) Android.bp语法参考文档
2024-02-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人