Android进阶-bugs 解决大集合

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里面动态请求权限,会发生死循环。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有头发的猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值