1、20191219
当用ndk编译一个共享库时,出现linux下头文件找不到时:
...
#include <linux/hidraw.h> not found
#include <linux/uinput.h>
...
将android工程build target 提高到Android 5.0以上即可解决。
2、20191220
java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "srand" referenced by "lib***.so"...
srand 是一个stdlib.h中定义的函数,用来得到随机数的,
用NDK编译携带so库的,apk安装到9.0都没问题,安装在4.4上面出现这个错误,后面换成4.4的源码编译so库再运行apk就没有了问题.
3、20191230
android9.0 新特性
当蓝牙设备连接状态发生改变时,activity 声明周期会发生变化,如果想要activity不发生变化,在AndroidManifest.xml中的activity添加如下配置:
手机测试使用如下:
<activity android:name=".***"
android:configChanges="orientation|keyboardHidden|screenSize|navigation"/>
机顶盒测试使用如下:
<activity android:name=".***"
android:configChanges="orientation|keyboardHidden|screenSize|keyboard"/>
4、20200104
Retrofit 网络请求时,会对一些特殊字符自动编码,使用如下方式解决
@POST(****)
Observable<****> queryEvent(@Query(value=param,encoded = true) String param);
5、20200107
自android8.0开始,android新加入HIDL,通过HIDL来和HAL联系起来了,有些库没有默认生成HIDL库,导致hal库也无法使用,这个时候我们只需要在源码目录下 /device/manifest.xml
加入配置,下面是
android.hardware.sensors@1.0-impl.so
添加部分
<hal format="hidl">
<name>android.hardware.sensors</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>ISensors</name>
<instance>default</instance>
</interface>
</hal>
6、20200116
在onResume里面动态请求权限,会发生死循环。