RK3288 android 7.1 预装可卸载APK 平台 需求 实现 后续 平台 RK3288 + Android 7.1 需求 ROM 中集成可卸载APK, 需满足要求: 烧录完成启动后, 应用已装上 用户可手动卸载 重启后保持应用安装/卸载状态 重置后, 应用已安装上 实现 在make 完成后, 创建out/target/product/rk3288/vendor/bundled_uninstall_back-app目录 把预装APK存放到此目录下, 结构如下: |--out/target/product/…

2018年10月17日 0条评论 3点热度 阅读全文

     前面我们详细分析了从应用层调用CameraManager的openCamera的方法来打开相机的逻辑,上次的分析我们来到了CameraServer进程当中,但是还没有真正看到open操作设备节点来实现真正打开的逻辑,遗留的问题也就是从frameworks\av\services\camera\libcameraservice\device3\Camera3Device.cpp文件中的status_t Camera3Device::initialize(sp<Camera…

2018年5月13日 0条评论 2点热度 阅读全文

简介 我们在设置系统样式时,将windowTranslucentStatus和windowTranslucentNavigation属性设置为true后,Activity就会显示为如下效果: 状态栏和导航栏都会显示成半透明的状态。并且布局会拓展到系统栏的后面。本文就是要从源码分析windowTranslucentStatus的实现原理。因为windowTranslucentNavigation是一样的原理所以就不再去分析,我们只要理解了windowTranslucentStatus实现流程,自然而然也就知道了win…

2018年4月10日 0条评论 2点热度 阅读全文

     上一次我们详细分析了openCamera启动过程的源码,从CameraServer进程创建了很多对象,比如CameraDeviceClient、Camera3Device、FrameProcessorBase,而真正打开相机还是在驱动层中上电后才完成的,有时候真想把公司的系统组件和芯片组件的源码拷回来,这样就能看到完整的过程了,但是还是不敢,哈哈哈!华为手机是仿照高通,和CameraServer进程交互的是CameraDaemon进程,HAL、算法的代码都是执行在Camera…

2018年2月25日 0条评论 4点热度 阅读全文

     这节我们来看一下Activity的窗口Window对象的创建过程,Activity作为Android提供的四大组件之首,我们之所以能非常简单的使用它,就是因为它的创建过程中,framework为我们作了大量的初始化工作,包括它的窗口Window、显存Surface、事件分发的InputChannel等等非常多的工作,都在framework中为我们准备好了,所以我们这节来看一下Window对象的创建过程。      我们的起点是在ActivityT…

2018年1月31日 0条评论 2点热度 阅读全文

     今年一进公司就开始搞相机开发,一直是在搞相机应用层,不过自己的学习心一直没停,闲暇之余就研究一下相机的framework、HAL层的东西,平时工作中碰到的和自己接触到的,相机中最复杂的就是预览了,有了一些体会也不想放下,所以决定写一系列关于Android相机的博客,把自己学习到的东西记录下来。      说起Android相机的东西,从应用层的角度来看,基本就是四个重要的节点了:openCamera、createCaptureSession、pr…

2018年1月28日 0条评论 2点热度 阅读全文

   作过android应用开发的同事都非常清楚,android提供了四个组件Activity、Service、BroastcastReceiver、ContentProvider,分别都有不同的作用,这也给我们的应用开发提供了非常大的帮助,因为这四大组件本身就已经处理了很多的工作,我们只需要使用它就能达到成我们的目的。今天就来看一下Service这个组件,其他三个我们就不详细分析了,基本上都是相同的道理。      大家对Serviec的理解,基本都会提到Thre…

2018年1月27日 0条评论 5点热度 阅读全文

首先,那么如果朋友你只是来找截屏接口使用在你的项目中的,那么你就不用继续往下看了。。。 基于上班时间较忙,另外个人觉得还是将这个截屏流程分析和使用分开总结比较好,于是决定分两篇文章来讲解。好了,那么上一篇文章主要是从源码角度分析讲解了Android系统截屏流程,这篇文章将结合上一篇文章总结如何在应用层进行截屏,还没看过从源码角度分析讲解Android系统截屏流程的同学建议先移步Android如何在应用层进行截屏及截屏源码分析(上) 作个具体的了解。 其实针对应用层要去使用这个截屏操作接口,再不修改平台源码的情况下基…

2018年1月11日 0条评论 9点热度 阅读全文

     上一节我们详细的看了下Android应用进程的启动过程分析,知道了应用进程是由Zygote进程调用Linux的系统函数fork复制出来的,那么Zygote进程是怎么启动起来的?这节我们就来看一下Zygote进程的启动过程。      当我们的Android手机开机时,Linux的init进程会去加载init.rc配置文件,老罗博客上讲的是Android 2.3的系统,当前应该还没有64位的虚拟机,所以Zygote进程的启动都是配置在init.rc…

2018年1月6日 0条评论 6点热度 阅读全文

简介 本文是由上篇Android LOCAL_JAVA_RESOURCE_FILES 的妙用 延伸出来的,主要讲解ClassLoader.getSystemResourceAsStream的底层实现。本文篇幅较长,主要是源码较多,如果不贴源码,又不好理解,所以为了理解深刻,请慢慢细读。 源码分析 先来看下ClassLoader的代码,然后我们去分析它的实现过程。 libcore/libdvm/src/main/java/java/lang/ClassLoader.java static private class …

2017年12月20日 0条评论 2点热度 阅读全文