<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[kaijiehui]]></title><description><![CDATA[小白]]></description><link>https://blog.youkuaiyun.com/u011341111</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u011341111]]></copyright><item><title><![CDATA[Google pixel xl 系统定制]]></title><link>https://blog.youkuaiyun.com/u011341111/article/details/84345411</link><guid>https://blog.youkuaiyun.com/u011341111/article/details/84345411</guid><author>u011341111</author><pubDate>Thu, 22 Nov 2018 17:23:01 +0800</pubDate><description><![CDATA[SystemUI定制：

 

]]></description><category></category></item><item><title><![CDATA[android8.1设置默认输入法]]></title><link>https://blog.youkuaiyun.com/u011341111/article/details/84313966</link><guid>https://blog.youkuaiyun.com/u011341111/article/details/84313966</guid><author>u011341111</author><pubDate>Wed, 21 Nov 2018 09:58:41 +0800</pubDate><description><![CDATA[aosp 8.1的原生输入法不支持中文，所以只能内置输入法了 

修改如下:

/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

loadSecureSettings方法中增加下面的内容


loadStringSetting(stmt, Secure...]]></description><category></category></item><item><title><![CDATA[Android8.1内置第三方apk /system/app]]></title><link>https://blog.youkuaiyun.com/u011341111/article/details/84312233</link><guid>https://blog.youkuaiyun.com/u011341111/article/details/84312233</guid><author>u011341111</author><pubDate>Wed, 21 Nov 2018 00:18:07 +0800</pubDate><description><![CDATA[没有代码的情况下内置第三方apk有两种方式：

我使用的是aosp 8.1源码 刷的pixel xl 

第一种是在android-8.1.0_r15/vendor/qcom/marlin/prefabrication/Android.mk

目录结构



Android.mk 是新建的,下面是mk的内容


LOCAL_PATH := $(call my-dir)
include $(CLEA...]]></description><category></category></item><item><title><![CDATA[android设置默认中文]]></title><link>https://blog.youkuaiyun.com/u011341111/article/details/84309930</link><guid>https://blog.youkuaiyun.com/u011341111/article/details/84309930</guid><author>u011341111</author><pubDate>Tue, 20 Nov 2018 21:37:23 +0800</pubDate><description><![CDATA[修改：build/target/product/full_base.mk

45 # Put en_US first in the list, so make it default.
 46 PRODUCT_LOCALES := zh_CN en_US
 ]]></description><category></category></item><item><title><![CDATA[反编译apk]]></title><link>https://blog.youkuaiyun.com/u011341111/article/details/83790614</link><guid>https://blog.youkuaiyun.com/u011341111/article/details/83790614</guid><author>u011341111</author><pubDate>Tue, 06 Nov 2018 17:14:10 +0800</pubDate><description><![CDATA[ 这种方式只针对android9.0以上吧，  尝试了9.0 失败了

需要下载工具：

https://app.yinxiang.com/shard/s45/res/4f0530fb-b6fa-4f94-9650-6ef044de1244/dex-tools-2.1-SNAPSHOT.zip

https://app.yinxiang.com/shard/s45/res/511352a2-623...]]></description><category></category></item><item><title><![CDATA[Android8.1 新增系统自定义服务一 (SELinux权限）]]></title><link>https://blog.youkuaiyun.com/u011341111/article/details/83446502</link><guid>https://blog.youkuaiyun.com/u011341111/article/details/83446502</guid><author>u011341111</author><pubDate>Sat, 27 Oct 2018 15:14:43 +0800</pubDate><description><![CDATA[           一开始并没有注意到android8.0以后和之前有多大区别，知道最近有需求要求增加一个自定义服务，一直没有生效报avc权限问题

在SystemServer startOthreService中

ServiceManager.addService () 出现了AVC权限：

SELinux: avc denied {add} for service=gesture pid=...]]></description><category></category></item><item><title><![CDATA[Aosp8.1 pixel xl 生成vendor.img]]></title><link>https://blog.youkuaiyun.com/u011341111/article/details/83446318</link><guid>https://blog.youkuaiyun.com/u011341111/article/details/83446318</guid><author>u011341111</author><pubDate>Sat, 27 Oct 2018 14:57:51 +0800</pubDate><description><![CDATA[编译android 8.1 marlin ，默认不会生成vendor.img 这个是因为在build/core/MakeFile中 build vendorimage 条件不满足

----build/core/MakeFile 是软连接  实际路径在 /system/build/make/下面

makefile 缺少参数


BOARD_VENDORIMAGE_PARTITION_SIZE 所...]]></description><category></category></item><item><title><![CDATA[什么时候用抽象类,什么时候用接口]]></title><link>https://blog.youkuaiyun.com/u011341111/article/details/79853740</link><guid>https://blog.youkuaiyun.com/u011341111/article/details/79853740</guid><author>u011341111</author><pubDate>Sun, 08 Apr 2018 16:23:08 +0800</pubDate><description><![CDATA[什么时候用抽象类,什么时候用接口“接口是完全抽象的成员集合，它的成员都无法在接口定义时实现，我们可以将它看作是为操作定义合同，接口的实现完全留给开发者去做。它们之间的区别，如果认真分析，还是有不少的：在JAVA中，类只能是从一个基类继承，所以如果要使用抽象类为一组类提供多态性，这些类必须都是从那个类继承的；接口就不一样了，它不但可以用一个类或结构实现多个接口，一个接口还可以有多个实现。”     ...]]></description><category></category></item><item><title><![CDATA[Android Watchdog机制]]></title><link>https://blog.youkuaiyun.com/u011341111/article/details/79833849</link><guid>https://blog.youkuaiyun.com/u011341111/article/details/79833849</guid><author>u011341111</author><pubDate>Fri, 06 Apr 2018 15:25:41 +0800</pubDate><description><![CDATA[Android的SystemServer是一个非常复杂的进程，里面运行的服务超过五十种，是最可能出问题的进程，因此有必要对SystemServer中运行的各种线程实施监控。但是如果使用硬件看门狗的工作方式，每个线程隔一段时间去喂狗，不但非常浪费CPU，而且会导致程序设计更加复杂。因此Android开发了WatchDog类作为软件看门狗来监控SystemServer中的线程。一旦发现问题，Watch...]]></description><category></category></item><item><title><![CDATA[Android IPC机制4-ServiceManager的addService与getService实现]]></title><link>https://blog.youkuaiyun.com/u011341111/article/details/79481700</link><guid>https://blog.youkuaiyun.com/u011341111/article/details/79481700</guid><author>u011341111</author><pubDate>Thu, 08 Mar 2018 11:11:07 +0800</pubDate><description><![CDATA[普通client或者server在获得servicemanger的proxy对象后,肯定就要使用了。对于server来说，主要是调用addService,向serivceManager注册。而client则是通过serivcemanager查询所需server的信息，然后得到server的proxy对象。注册服务-addService以Native层的服务mediaservice为例，我们先来分析...]]></description><category></category></item><item><title><![CDATA[Android进程间通信（IPC）机制Binder简要介绍和学习计划]]></title><link>https://blog.youkuaiyun.com/u011341111/article/details/79457792</link><guid>https://blog.youkuaiyun.com/u011341111/article/details/79457792</guid><author>u011341111</author><pubDate>Tue, 06 Mar 2018 16:29:23 +0800</pubDate><description><![CDATA[        在Android系统中，每一个应用程序都是由一些Activity和Service组成的，这些Activity和Service有可能运行在同一个进程中，也有可能运行在不同的进程中。那么，不在同一个进程的Activity或者Service是如何通信的呢？这就是本文中要介绍的Binder进程间通信机制了。《Android系统源代码情景分析》一书正在进击的程序员网（http://0xcc0...]]></description><category></category></item><item><title><![CDATA[浅谈Service Manager成为Android进程间通信（IPC）机制Binder守护进程之路]]></title><link>https://blog.youkuaiyun.com/u011341111/article/details/79457840</link><guid>https://blog.youkuaiyun.com/u011341111/article/details/79457840</guid><author>u011341111</author><pubDate>Tue, 06 Mar 2018 16:29:12 +0800</pubDate><description><![CDATA[        上一篇文章Android进程间通信（IPC）机制Binder简要介绍和学习计划简要介绍了Android系统进程间通信机制Binder的总体架构，它由Client、Server、Service Manager和驱动程序Binder四个组件构成。本文着重介绍组件Service Manager，它是整个Binder机制的守护进程，用来管理开发者创建的各种Server，并且向Client提...]]></description><category></category></item><item><title><![CDATA[浅谈Android系统进程间通信（IPC）机制Binder中的Server和Client获得Service Manager接口之路]]></title><link>https://blog.youkuaiyun.com/u011341111/article/details/79457881</link><guid>https://blog.youkuaiyun.com/u011341111/article/details/79457881</guid><author>u011341111</author><pubDate>Tue, 06 Mar 2018 16:29:00 +0800</pubDate><description><![CDATA[ 在前面一篇文章浅谈Service Manager成为Android进程间通信（IPC）机制Binder守护进程之路中，介绍了Service Manager是如何成为Binder机制的守护进程的。既然作为守护进程，Service Manager的职责当然就是为Server和Client服务了。那么，Server和Client如何获得Service Manager接口，进而享受它提供的服务呢？本文将...]]></description><category></category></item><item><title><![CDATA[Android系统进程间通信Binder机制在应用程序框架层的Java接口源代码分析]]></title><link>https://blog.youkuaiyun.com/u011341111/article/details/79457919</link><guid>https://blog.youkuaiyun.com/u011341111/article/details/79457919</guid><author>u011341111</author><pubDate>Tue, 06 Mar 2018 16:28:40 +0800</pubDate><description><![CDATA[       在前面几篇文章中，我们详细介绍了Android系统进程间通信机制Binder的原理，并且深入分析了系统提供的Binder运行库和驱动程序的源代码。细心的读者会发现，这几篇文章分析的Binder接口都是基于C/C++语言来实现的，但是我们在编写应用程序都是基于Java语言的，那么，我们如何使用Java语言来使用系统的Binder机制来进行进程间通信呢？这就是本文要介绍的Android系...]]></description><category></category></item><item><title><![CDATA[Framework源码分析（二）：Binder]]></title><link>https://blog.youkuaiyun.com/u011341111/article/details/79457985</link><guid>https://blog.youkuaiyun.com/u011341111/article/details/79457985</guid><author>u011341111</author><pubDate>Tue, 06 Mar 2018 16:28:28 +0800</pubDate><description><![CDATA[Binder是什么Binder是Android系统提供的一种进程间通信机制，它提供远程过程调用功能（RPC）。而这个机制形成，是通过一些系统组件构成的，分别是Client、Server、ServiceManager和Binder Driver。Binder Driver是Binder驱动程序，运行在Linux内核空间；Client，Server和Service Manager运行在用户空间。Bin...]]></description><category></category></item><item><title><![CDATA[Framework源码分析（一）：ActivityManagerService]]></title><link>https://blog.youkuaiyun.com/u011341111/article/details/79457963</link><guid>https://blog.youkuaiyun.com/u011341111/article/details/79457963</guid><author>u011341111</author><pubDate>Tue, 06 Mar 2018 16:28:22 +0800</pubDate><description><![CDATA[从这篇文章开始，我想把自己对于Framework源码的理解详细的进行分析和阐述，当然自己在阅读这些代码的时候也大量的进行了其他资料的阅读和学习。我希望通过我的分享能够带给大家对于Android由浅入深的理解。在这篇博客中，给大家带来AMS的技术分享。AMS(ActivityManagerService)是贯穿Android系统组件的核心服务，负责了系统中四大组件的启动、切换、调度以及应用进程管理和...]]></description><category></category></item><item><title><![CDATA[framework面试题]]></title><link>https://blog.youkuaiyun.com/u011341111/article/details/79457941</link><guid>https://blog.youkuaiyun.com/u011341111/article/details/79457941</guid><author>u011341111</author><pubDate>Tue, 06 Mar 2018 16:28:17 +0800</pubDate><description><![CDATA[ART、Dalvik和JVM的关系及区别是什么？这是道送分题，并不是真的要说出它们的深度区别，但如果你不知道ART是什么，我觉得你不够关注行业发展，靠这个平台吃饭，不关心它，怎么都说不过去。       ART 就是 Android Runtime ，是安卓4.4之后的系统的新的虚拟机模式，改模式提升了运行效率，启用该模式之后，系统在安装APP的时候，会进行一次预编译，把代码转成机器语言存储在本地...]]></description><category></category></item><item><title><![CDATA[Framework源码分析（三）：ActivityThread]]></title><link>https://blog.youkuaiyun.com/u011341111/article/details/79458024</link><guid>https://blog.youkuaiyun.com/u011341111/article/details/79458024</guid><author>u011341111</author><pubDate>Tue, 06 Mar 2018 16:28:12 +0800</pubDate><description><![CDATA[在ActivityManagerService这一篇博客中，我们已经了解AMS在Android系统中是管理系统中Activity的重要类，他通过Binder进程间通信的方式去调度Activity，从而操作Activity的生命周期。那么在这一篇博客中，我们继续通过认识ActivityThread来进一步了解Activity的创建和启动的原理。简述App启动流程APP启动流程从图中的流程来看，首先用...]]></description><category></category></item><item><title><![CDATA[ActivityManagerService简要分析]]></title><link>https://blog.youkuaiyun.com/u011341111/article/details/79458051</link><guid>https://blog.youkuaiyun.com/u011341111/article/details/79458051</guid><author>u011341111</author><pubDate>Tue, 06 Mar 2018 16:28:07 +0800</pubDate><description><![CDATA[1、相关类简述1.1、com.android.server.SystemServer本身由zygote进程运行，用来启动各种各样的系统服务（SystemService）1.2、com.android.server.SystemService运行在系统进程中的service，每个SystemService都是有生命周期的，所有的生命周期函数都是运行在SystemServer的主线程当中。1.2.1 ...]]></description><category></category></item><item><title><![CDATA[Android PackageManagerService详细分析]]></title><link>https://blog.youkuaiyun.com/u011341111/article/details/79458102</link><guid>https://blog.youkuaiyun.com/u011341111/article/details/79458102</guid><author>u011341111</author><pubDate>Tue, 06 Mar 2018 16:28:02 +0800</pubDate><description><![CDATA[本篇主要分析了系统启动阶段包管理服务的启动流程,其中的几个接口在 apk 安装时也会被调用。包管理服务启动时主要做的工作大致有如下几方面:     1. 建立 java 层的 installer 与 c 层的 installd 的 socket 联接,使得在上层的 install,remove,dexopt等功能最终由 installd 在底层实现   2. 建 立 PackageHandler ...]]></description><category></category></item></channel></rss>