Framework开发
文章平均质量分 74
Framework定制和开发
烟雨江南aabb
这个作者很懒,什么都没留下…
展开
-
Android11编译第八弹:root用户密码设置
问题:user版本增加su 指令以后,允许切换root用户,但是,没有设置密码,这样访问不安全。需要增加root用户密码。原创 2023-11-27 10:36:36 · 1040 阅读 · 0 评论 -
Android11编译第七弹:串口文件读写
怎么实现APP对串口文件的访问呢?基本的实现思路:1)APP授权system用户。APP采用系统签名,作为系统应用, 对应的用户system,方便用户访问读写串口文件2)串口文件授权system用户访问系统应用需要集成到ROM中。原创 2023-11-23 11:30:45 · 562 阅读 · 0 评论 -
Android11编译第五弹:开启VPN权限
虚拟专用网(VPN)是一条通信隧道,可以在不可信的中间网络上提供身份认证和数据通信的点对点传输。大多数VPN使用加密技术来保护封装的通信数据,但是加密对于VPN 连接而言并非必需的。简单来说,设备不论连接什么类型的网络,只要和VPN服务器提供的网络,那么这些设备就在VPN网络中,相当于在同一个虚拟局域网内。因此就可以使用adb访问智能货柜设备。因为需要支持VPN访问,因此AOSP需要定制支持VPN权限。原创 2023-09-10 11:20:33 · 3307 阅读 · 0 评论 -
Android11编译第四弹:证书和资源内置
内置资源,一般是预先配置好的系统资源配置文件,以及程序运行所需要的配置文件,依赖库,数据文件等。例如MQTT的整数,AI识别需要的模型数据等,这些信息都需要进行内置。原创 2023-09-07 22:45:56 · 226 阅读 · 0 评论 -
Android 11编译第三弹 ADB开启ROOT权限
问题:Relese版本,默认adb访问会降级到shell权限,一些敏感操作不能进行,远程调试比较麻烦。-DALLOW_PERMISSIVE_SELINUX=0 修改为 -DALLOW_PERMISSIVE_SELINUX=1。ro.secure表示root权限,要开启Root权限,系统配置ro.secure=0 开启ROOT权限。user版本就是Releae版本,userdebug版本就是debug版本。adbd启动时检查属性,决定是否进行权限降级到AID_SHELL。原创 2023-09-03 15:43:48 · 6959 阅读 · 0 评论 -
Android11 编译第一弹:增加内置APK
生成ROM包的时候,需要把我们公司一些APK作为内置APK,集成到系统中。这种预先集成到系统中的APK,就是内置APK。内置APK有什么好处?1)可以集成系统用户签名的APK,提供APK的权限级别;这个有有很多好处,例如集成system用户的APK, 清单文件声明需要的敏感权限,可以使用敏感权限的操作。例如读写SD卡公有目录。2)内置应用在system/app下有备份,因为集成到系统中,系统内置应用用户不能卸载。原创 2023-08-27 20:58:32 · 1639 阅读 · 1 评论 -
Android11编译第二弹:USB连接MTP模式+USB调试+USB信任
使用场景:我们是自己的系统,需要支持设备USB连接,以及adb远程调试(USB调试和TCP调回),因此,系统需要默认支持USB连接,支持USB调试,默认信任连接的设备。问题1:原始的AOSP,如果通过USB连接设备以后,会弹窗提示用户选择连接模式:MTP,大容量磁盘,照片等模式;问题3:USB设备连接以后,电脑会弹窗是否信任设备,需要点击信任当前设备,否则设备连接不成功。默认只要USB连接设备,默认就开启USB调试。问题2:USB连接设备以后,需要开启USB调试模式,才方便操作adb调试;原创 2023-09-02 16:55:26 · 2471 阅读 · 1 评论 -
Java类型擦除
什么是类型擦除Java的泛型是伪泛型,这是因为Java在编译期间,所有的泛型信息都会被擦掉,正确理解泛型概念的首要前提是理解类型擦除。Java的泛型基本上都是在编译器这个层次上实现的,在生成的字节码中是不包含泛型中的类型信息的,使用泛型的时候加上类型参数,在编译器编译的时候会去掉,这个过程成为类型擦除。问1:Java类型擦除是什么过程出现的?Java泛型编译过程会擦除掉泛型信息。 /** * 比较两个ArrayList的类型比较 * 1) 第一个ArrayList原创 2022-01-10 17:11:33 · 4560 阅读 · 0 评论