
android 系统
Sunnie_ge
目前从事Android驱动开发和android framework层部分.
汽车智能驾舱audio开发
展开
-
ALOGV 的打印问题
log有了一些打印,具体可以参考system/core/include/cutils/log.h1. 下面是控制哪些log输出的宏/* * Normally we strip ALOGV (VERBOSE messages) from release builds. * You can modify this (for example with "#define LOG_NDEBUG 0" * at the top of your source file) to change tha...原创 2020-09-11 12:01:31 · 1794 阅读 · 0 评论 -
Android P SElinux权限调试
Android P SElinux权限调试在Android P上要开发一个开机过程中运行bin程序,在Android O上权限问题还算比较好解决,而在 Android P上面由于谷歌收紧了 Android SElinux控制,增加了许多neverallow规则,导致调试权限十分不便开发的bin程序由于要开机运行,因此需要通过init.rc去启动这个bin程序severe。而这个bin程序要去控制“data”分区文件和“sys”文件节点状态。因此该功能涉及到selinux权限有两部分,一部分是sy转载 2020-08-27 15:56:31 · 859 阅读 · 0 评论 -
Gradle编译时下载依赖失败解决方法
修改单独项目在项目的build.gradle文件中,修改repositories配置由: repositories { mavenCentral() }改为:repositories { maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'} }或:repositories { maven{ url 'http://maven.o原创 2020-08-20 18:59:05 · 656 阅读 · 0 评论 -
Android.mk总结
Android源码编译不同的版本,略微有不同4.4 采用圝的方式9.0使用圝的方式编写app之前,确认编译环境使用的sdk版本,在build.gradle中配置成一样的删掉不需要用的东西,也许某个虚线下面在编译时就是一个炸弹一个apk构依赖部分系统属性/自己项目的module/第三方jar/第三方aar/so库 系统预编译好的属性 如AndroidX系列,implementation 'androidx.constraintlayout:constraintlayout:1.1.原创 2020-08-07 15:09:30 · 1814 阅读 · 0 评论 -
binder,hwbinder,vndbinder之间的关系
转:https://blog.youkuaiyun.com/weiqifa0/article/details/1042899131 前言先复制一段来自于android官方文档的文字https://source.android.google.cn/devices/architecture/hidl/binder-ipc一直以来,供应商进程都使用 Binder 进程间通信 (IPC) 技术进行通信。在 Android 8 中,/dev/binder 设备节点成为框架进程的专有节点,这意味着供应商进程无法再访问原创 2020-08-06 14:24:28 · 353 阅读 · 0 评论 -
Android Soong
1.Android.bp 帮助文档out/soong/docs/soong_build.html2.通过androidmk 将Android.mk 转Android.bp3. 源码帮助文档:android/build/soong/README.md原创 2020-06-30 11:04:39 · 634 阅读 · 0 评论 -
android kernel 的config 如何选择-QCOM
https://blog.youkuaiyun.com/weijory/article/details/73104910 如何在deconfig文件里配置某个模块是否编译首先以CONFIG_TOUCHSCREEN_FT5X06为例,这个CONFIG_TOUCHSCREEN_FT5X06在makefile里决定了obj-$(CONFIG_TOUCHSCREEN_FT5X06) += ft5x06_ts...转载 2018-08-03 17:44:05 · 1966 阅读 · 0 评论 -
adb 通过wifi进行调试
adb的调试,可以使用usb,也可以使用wifi 进行调试 设置—〉无线或网络—〉WLAN设置—〉按menu键并选择“高级”选项—〉IP 地址 如:10.0.8.123adb connect 10.0.8.123如果出现 connected to 10.0.8.123:5555 说明已成功连上 可以进行调试了(5555为默认端口)如果出现unable to connect to ip原创 2017-04-26 19:48:05 · 2996 阅读 · 0 评论 -
如何预置APK使得用户可以卸载,并且恢复出厂设置时能够恢复?
如何预置APK使得用户可以卸载,并且恢复出厂设置时能够恢复? 方法: 预置apk到system/vendor/operator/app下面可以在package/apps下,新建预置的APP名称的文件夹, 将预置的apk放入文件夹。 在这个文件夹中,新建一个Android.mk文件 这里以百度输入法为例:LOCAL_PATH:= $(call my-dir)include $(CLEAR_原创 2017-04-25 21:13:30 · 2440 阅读 · 0 评论 -
如何将打印的log,输出到文本文件中
前言在调试adb的时候,对于HOST端的log信息,有些能打印出来,但是有些却不能打印出来。经过查找,发现在代码中,有start_logging()这样的一个方法。这个方法,导致没有信息的输出,它将信息写入了文件 。 一下代码经过简单修改后的代码,需要原始的代码可以查看adb.c这个文件。原创 2017-03-15 12:36:45 · 6127 阅读 · 0 评论 -
adb 出现insufficient permissions for device" 的解决方法
在linux平台上,使用android代码编译出来的adb进行调试的时候,会出现 “insufficient permissions for device” 这样的提示。 原因分析:这是adb的权限不够,在out/host/linux-x86/bin下的adb 此时还是用户权限, 需要使用一下命令更改为root权限 sudo chmod u+s adb原创 2017-03-14 12:42:23 · 4010 阅读 · 0 评论 -
linux epoll基本知识
在linux中,多路IO复用的方式有select poll epoll这几种方式。selece和poll,都不是线程安全的,而epoll是线程安全的。epoll在大并发的情况下,性能远高于selece和poll机制。epoll C APIint epoll_create(int size); 功能:创建epoll参数:size: 从内核2.6开始,size的值已经被忽略,但是这个值必须要大于0原创 2017-03-13 20:42:11 · 455 阅读 · 0 评论 -
linux inotify功能和用法
了解inotify当内核中文件系统发生变化时,inotiy会将监控的事件传递给用户,比如创建、删除、读、写等。 inotify的使用,创建一个文件描述符,添加一个或者监控器watch,然后使用read()方法,从文件描述符中获取事件 信息。read()是以堵塞的方式,进行读取时间信息的。inotify C APIinotiy提供3个系统调用,可以用来构建各种的文件系统监控器int inotif原创 2017-03-05 18:44:56 · 2899 阅读 · 0 评论 -
android系统的更新之比较时间方法的获取时间
android系统的更新,需要判断需要更新的编译时间,比现在系统的更新事件新。 这就涉及都 ro.build.dae这个参数的内容。在开发的过程中,遇到无法解析这个 属性内容的情况。英文版本的Ubuntu,在shell脚本中 输入date ,显示2017年 02月 21日 星期二 14:05:10 CST 一方面这样的格式中存在中文,另一方面在使用data.parse()进行解析的时候,会出原创 2017-02-21 17:20:46 · 1796 阅读 · 0 评论 -
带有源码的apk预置到系统
带有源码的apk预置到系统如何将android stuido 下的android代码内置到 android源码中去呢? - 在package/apps/下需要预置的APK的名字创建爱你一个新文件夹。 例如创建的应用名称是TopActivity - 将在android studio下的TopActivity的\app\src\main目录下的 java res AndroidMainfest原创 2016-12-25 17:10:48 · 3676 阅读 · 0 评论 -
android应用程序访问隐藏的api
前言在android系统开发中需要添加一些aidl文件。 这些aidl是hide的,应用程序无法直接的使用,从而引出了应用程序如何访问内部内藏的api接口步骤1.android在编译完成后,会生成framework.jar。难道应用程序要使用这个framework.jar吗? 其实不是的,需要使用的是 out/target/common/obj/JAVA_LIBRARIES/framewo原创 2016-12-11 14:14:43 · 653 阅读 · 0 评论 -
android应用程序jni访问C库
应用程序访问C库 –通过jni访问如果应用程序,需要访问C的动态库,可以通过ndk的方式生成动态库,也可以在ubuntu中通过命令行得到动态库。本文通过命令行的方式得到动态库libhardcontrol.so交叉编译arm-linux-gcc -fPIC -shared hardcontrol.c -o libhardcontrol.so -I /usr/lib/jvm/java-1.7.0-原创 2016-12-11 13:00:57 · 738 阅读 · 0 评论 -
android硬件访问服务程序框架和简单实例分析
android硬件访问服务程序框架 loadLibrary 进行加载C库 JNI_OnLoad 注册本地方法 SystemServer APP原创 2016-12-03 12:08:45 · 1068 阅读 · 0 评论 -
android fastboot模式下载以及出现的问题
android fastboot 模式下载,已经出现的问题,原创 2016-10-29 19:39:59 · 2809 阅读 · 0 评论 -
Android(1) elipse离线安装adt后,没有图编显示
如何通过设置让adt的图片显示出来 elcipse 版本 Version: Mars.2 Release (4.5.2) adt 版本:23.0.7 elipse –>window->perspective ->customeize perspective –> actioon set availability 中选中前4个和anriod有关的选型原创 2016-05-03 20:38:27 · 404 阅读 · 0 评论 -
init.rc 文件中,user是怎么来的
1.笔记】android 系统常用user id列表https://blog.youkuaiyun.com/SweetTool/article/details/728642292.Discretionary Access Control (DAC)https://source.android.google.cn/devices/tech/config/filesystem.html#defining-oem-aid-name目前 user 的名字,是从AID 里边自动生成的.查看一下文件..原创 2020-09-14 16:57:17 · 626 阅读 · 0 评论