- 博客(76)
- 资源 (3)
- 收藏
- 关注
原创 android11 Framework Selinux 添加设备节点问题修改及具体实现
file_contexts文件修改时,最后一行必须要有一个空行,否则会编译不过。========================================================file_contexts 最后一行修改不是空行,怎么都编不过,搞了半天,气死了~~FAILED: out/target/product/ums9620/obj/ETC/file_contexts.bin_intermediates/file_contexts.bin**Error: could not l
2022-04-21 16:58:29 4183 1
原创 Android11 Framework Vendor下自定义系统服务
vendor 添加sepolicy, service, Android.bpvendor/testos/sepolicy/app.tevendor/testos/sepolicy/service_contextsvendor/testos/sepolicy/service.tevendor/testos/mdm/java/android/test/mdm/IMdmManager.aidlvendor/testos/mdm/java/android/test/mdm/MdmManager.jav..
2022-03-23 14:22:54 4781 1
原创 Android Selinux 应用读写设备节点
写入设备节点 final String FILE_PATH = "/sys/dev"; private void writeSysFile(){ final File file = new File(PATH_REPORT) ; String cmd = "1"; FileOutputStream fos = null; try{ fos = new FileOutputStream(file);
2022-01-22 19:47:33 3292
原创 2018 Android 文字转语音(中文) TextToSpeech+科大讯飞语音引擎3.0
最近项目中需要用到文字转语音。 本来是想使用朗读女生成的声音文件放到项目资源中进行播放。 但是产品要求改成动态的。于是就用了Google为我们封装好的类TTS,即TextToSpeech:大家可以看下详细文档。代码其实不多,但是写完之后测试就有问题,没声音,,,,看了之后才知道谷歌这个官方api不支持中文。。很Tmd. 给大家科普下: 文字转语音的引擎: com.svox...
2018-09-06 14:19:09 20565 13
原创 Android 13 aosp 预置三方应用apk
Android.mk 中的模块定义 您可以使用 LOCAL_MULTILIB 变量将 build 配置为适用于 32 位/64位架构,并替换全局 TARGET_PREFER_32_BIT 变量。构建系统根据模块类和其他LOCAL_ 变量(如 LOCAL_MODULE_TARGET_ARCH 和 LOCAL_32_BIT_ONLY)决定要构建哪种架构。“first” 仅构建第一个架构(在 32 位设备中构建 32 位架构,在 64 位设备中构建 64 位架构)。“32” 仅构建 32 位架构。
2024-04-07 16:42:31 681 1
原创 Android 13 aosp emulator 报错 This user doesn‘t have permissions to use KVM (/dev/kvm)
Andoird 源码编译完成启动模拟器报错。
2024-03-29 14:16:42 297 1
原创 Android com.android.tools.r8.internal.Ub: Absent Code attribute in method that is not native or abst
Android 项目导入 framework.jar编译报错 com.android.tools.r8.internal.Ub: Absent Code attribute in method that is not native or abstract。implementation files 修改为 compileOnly files。
2024-03-29 14:09:58 271
原创 Android AOSP源码编译之 depends on//art/libnativeloader: which is not visible to this module
在libnativeloader 库中 Android.bp visibility[] 添加 prebuilts/sgq/satellite。prebuilts/sgq/satellite/ 使用了libnativeloader该库,但是没有它的访问权限, 需要在。libnativeloader 库中添加 prebuilts/sgq/satellite 目录访问权限.
2024-03-21 17:21:19 329
原创 Android AOSP源码编译之 dlopen failed:library is not accessible for the namespace “classloader-namespace“
项目对应的Android.bp shared_libs 添加 libnativeloader.so。
2024-03-21 17:16:37 257
原创 Android 卫星通信计算方位角,仰角,极化角
需求描述: 已知手机的经纬度和高度信息,需要通过公式计算出手机收星的最优方位和仰角,用以调整UI界面显示,以便引导用户实现和当前卫星方位和仰角的对准,达到快速入网的目的。
2024-03-13 11:20:56 570 1
原创 Android 仿信号格子强度动画效果实现
计算圆角矩形的位置:为了居中矩形,你需要计算其左上角的 x 和 y 坐标。要使圆角矩形居中,你需要计算矩形的位置,这通常涉及到确定矩形左上角的位置(x, y),这样矩形就可以在其容器中水平和垂直居中。绘制圆角矩形:使用 Canvas 的 drawRoundRect 方法,传递计算出的 x、y 坐标,矩形的宽度和高度,以及圆角的半径。确定容器的尺寸:首先,你需要知道绘制圆角矩形的容器的宽度和高度。这通常是视图的宽度和高度。计算圆角矩形的尺寸:确定你想要绘制的圆角矩形的宽度和高度。
2024-02-22 17:58:15 580
原创 Android 11 访问 Android/data/或者getExternalCacheDir() root方式
如果手机安卓版本为Android10的时候,可以在AndroidManifest.xml中添加下列代码。需求要求安装三方应用ExternalCacheDir()下载下来的apk文件。以此禁用分区存储,但这在Android11及以上版本不起作用。第二种:系统服务代码。
2024-02-06 10:49:06 1042
原创 Android 11 访问 Android/data/或者getExternalCacheDir() 非root方式
SAF 提供了一种标准化的方式来让应用程序请求访问其他应用的文件和目录。要使用 SAF 请求访问 Android/data 目录。如果手机安卓版本为Android10的时候,可以在AndroidManifest.xml中添加下列代码。需求要求安装三方应用ExternalCacheDir()下载下来的apk文件。使用 Storage Access Framework 请求访问权限。以此禁用分区存储,但这在Android11及以上版本不起作用。
2024-02-06 10:43:38 991
原创 DevEco Studio 应用手表运行 The type of the target device does not match the deviceType configured in the m
在 , 添加。
2024-01-16 16:13:20 986
原创 Android系统的启动流程
在Android系统中,DVM和ART、应用程序进程以及运行系统关键服务的SystemServer进程都是由Zygote进程来创建的,我们也可以将其称为孵化器。由于Zygote进程在启动时会创建DVM或ART,因此通过fork而创建的应用程序进程和SystemServer进程可以在内部获得一个DVM或ART的实例副本。Launcher是一个应用程序,用来显示系统中已经安装的应用程序。init进程是Android系统中用户空间的第一个进程,进程号为1,是Android系统启动流程中的一个关键进程。
2024-01-08 16:07:19 502
原创 活在当下
史铁生写过这样一段话:“我四肢健全时,常抱怨周围环境糟糕,瘫痪后,怀念当初可以行走奔跑的日子。几年后长了褥疮,怀念起前两年安稳坐在轮椅上的时光;后来得了尿毒症,怀念当初长褥疮;又过了一些年,要透析,清醒的时间很少,怀念尿毒症的时候。大仲马也讲过同样的话,他说人生无所谓幸与不幸,只是两种不同境遇的比较罢了。永远记住,活在当下。
2024-01-08 15:56:12 476 2
原创 Android SettingsEnums 代码路径及配置
它使用简洁的语法来描述数据的结构和字段类型,并且可以定义消息之间的关系和依赖。在.proto文件中,可以定义消息(message),消息是由一组字段(field)组成的。还可以定义嵌套的消息类型,以及使用枚举类型(enum)来定义一组有限的取值。这样,就可以在不同的编程语言中使用相同的数据结构和接口定义,实现跨语言的数据交换和通信。总之,.proto文件是一种用于定义数据结构和服务接口的文件格式,它提供了简洁的语法和丰富的功能,可以方便地定义和维护数据结构,并且支持跨语言的数据交换和通信。
2023-12-13 16:38:48 500
原创 C++ : implicit instantiation of undefined template ‘std::vector<_******>‘
编译报错需要。
2023-08-28 21:11:58 415
原创 Linux scp命令
i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。-o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,-c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。-F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。-l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
2023-08-24 17:10:25 469
原创 Linux: 使用scp命令复制文件夹报 not a regular file 错误解决
使用scp 命令复制文件夹报 not a regular file 错误解决。解决办法: 加入参数 -r: 递归复制整个目录。
2023-08-24 17:08:31 1454
原创 Linux: scp 使用 Permission denied 错误解决
权限被拒绝,换一个目录执行,或者给这个目录添加权限 chmod 777。
2023-08-22 21:35:36 1783
原创 Java System.arraycopy() 对比 C++ memcpy()
java.lang.System类为标准输入和输出、加载文件和库或访问外部定义的属性提供了有用的方法。java.lang.System.arraycopy()方法将源数组从特定的起始位置复制到上述位置的目标数组。要复制的参数的数量由一个参数决定。source_Position 到 source_Position+length–1 的组件从 destination_Position 复制到 destination_Position+length–1 类声明的目标数组。
2023-08-17 20:34:27 307
原创 Android Framework 动态更新插拔设备节点执行权限
添加插拔TF卡监听 frameworks/base/services/core/java/com/android/server/StorageManagerService.java。TF卡设备节点是插上之后动态添加,所以不能通过初始化设备节点权限来解决,需要监听TF插入事件,在init.rc 监听插入后动态更新设备节点执行权限。监听该属性persist.sys.externalDeviceConn变化,给上设备节点文件0775执行权限。修改init.rc相关设备节点权限。
2023-08-15 22:03:26 319 1
原创 Android Settings 无障碍设置显示大小页面重复加载问题
ps:正常的Android 原生系统这样代码是没问题,猜测可能是系统配置低性能较差,以及开发做的反优化有关…查看setPreviewLayer()方法,在所有用到该方法地方打印日志调试,发现。通过commit() 提交更新页面显示大小。基于Android 11,跟踪源码。分别是seekbar滑动监听下。在操作一次滑动后,调用了两次。基类预览滑动进度页面。
2023-08-15 21:53:39 422
原创 JNI 使用java 枚举类
name为枚举常量的名字,ordinal为枚举常量声明时的顺序(从0开始)。Enum类有一个ordinal()方法,用来获取变量ordinal的值;还有一个values()方法用来获取所有的枚举常量,返回值是一个枚举的数组。JAVA的枚举类型构造函数一定是私有的,因为要保证枚举是单例的。因此我们不能在JNI里使用AllocObject、NewObject这种需要用到构造函数的方法构建一个枚举型。JAVA枚举类型的成员都是static的,JNI中可以直接访问。新创建的枚举类型继承自Enum类。
2023-03-28 14:04:28 514 1
碎片嵌套+zbar
2017-11-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人