摘要:1、简介 在android 系统中,为统一管理系统的属性,设计了一个统一的属性系统。每个属性都有一个名称和值,他们都是字符串格式。属性被大量使用在Android系统中,用来记录系统设置或进程之间的信息交换。属性是在整个系统中全局可见的。每个进程可以get/set属性。在编译的过程中会将各种系统参数汇
阅读全文
摘要:1.系统引导bootloader 1)源码:bootable/bootloader/* 2)说明:加电后,CPU将先执行bootloader程序,此处有三种选择 a)开机按Camera+Power启动到fastboot,即命令或SD卡烧写模式,不加载内核及文件系统,此处可以进行工厂模式的烧写 b)开
阅读全文
摘要:Android 源码编译后,在out目录下生成的三个镜像文件:ramdisk.img,system.img,userdata.img以及它们对应的目录树root,system,data。 ramdisk.img是根文件系统,system.img包括了主要的包、库等文件,userdata.img包括了
阅读全文
摘要:最近新项目需要编译64位的动态库,这里记录如何配置。 在jni目录下加入Android.mk和Application.mk文件。 Application.mk Android.mk 加上这两个mk文件后,编译就会生成armeabi、armeabi-v7a、arm64-v8a的库文件。 补充: And
阅读全文
摘要:init.rc脚本是由Android中linux的第一个用户级进程init进行解析的。 init.rc 文件并不是普通的配置文件,而是由一种被称为“Android初始化语言”(Android Init Language,这里简称为AIL)的脚本写成的文件。 该文件在ROM中是只读的,即使有了root
阅读全文
摘要:查看Android源码你会发现,代码中大量存在:SystemProperties.set()/SystemProperties.get();通过这两个接口可以对系统的属性进行读取/设置,顾名思义系统属性,肯定对整个系统全局共享。 属性系统是android的一个重要特性。它作为一个服务运行,管理系统配
阅读全文
摘要:方法一: 在LOCAL_PREBUILT_JNI_LIBS中列出APK文件中的so文件,注意路径与APK保持一致。 如果so文件是32位,而源码是针对64机器的,那么还需要在Android.mk文件中加上LOCAL_MULTILIB := 32。 在APK文件的当前目录,执行mm命令编译当前模块,A
阅读全文
摘要:ro.secure=1 && ro.debuggable=0 为User模式 ro.secure=0 && ro.debuggable=1 为Eng模式
阅读全文
摘要:Android5.1 Ubuntu14.04 Android系统编译依靠.mk文件 添加google服务 我们自己的ROM里没有google服务 完整的google包里包含google框架和各种服务,我们可以选择性安装模块 在google包里products目录下,有一个 gms.mk 文件(或者自
阅读全文
摘要:1: ./mk n(r) kernel; ./mk bootimage;当修改build-in 到kernel相关代码时,要使用此命令,具体文件参考如下: alps/kernel/ alps/mediatek/platform/mt65xx/kernel/ alps/mediatek/source/
阅读全文
摘要:Android的build.prop文件是在Android编译时刻收集的各种property(LCD density/语言/编译时间, etc.),编译完成之后,文件生成在out/target/product/<board>/system/目录下。在Android运行时刻可以通过property_g
阅读全文
摘要:Android系统内置应用可以使用更多的API、更高的权限,与开发普通应用最大的差别在于编译,内置应用编译需要用到Android.mk文件。下面是我在开发过程中的一些小记。 1、在AndroidMainfest.xml中添加 android:sharedUserId="android.uid.sys
阅读全文
摘要:在Android SDK目录的platform-tools目录下有fastboot.exe刷机工具(注:需要将机器进入fastboo模式)刷recovery.img:fastboot flash recovery recovery.img或fastboot.exe flash recovery re...
阅读全文
摘要:Android的系统设置数据存放在/data/data/com.android.providers.settings/databases/settings.db 中 数据库结构如下: 数据库中的默认数据在frameworks/base/packages/SettingsProvider/res/va
阅读全文
摘要:例如,我修改了frameworks\base\policy\src\com\android\internal\policy\impl\PhoneWindowManager.java文件,进入frameworks\base\policy\目录,使用mm命令编译此模块。编译后在out\target\pr...
阅读全文
摘要:在Android源码根目录执行下面命令source build/envsetup.shchoosecombomake –j4 其他命令(首先需要在android源码根目录执行source build/envsetup.sh脚本设置环境)m:编译所有的模块 mm:编译当前目录下的模块,当前目录下要有...
阅读全文
摘要:一、给自定义按键添加广播修改PhoneWindowManager.java中的interceptKeyBeforeDispatching方法/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager....
阅读全文
摘要:温馨提示 建议你先了解一下上一篇博文([Android L]SEAndroid增强Androd安全性背景概要及带来的影响)所讲的内容,先对SEAndroid窥个全貌,然后再继续本节内容。1 现象描述基于Android L版本源码环境进行开发时,根据项目需求,APP层需要操作sys/xxx 或 pr...
阅读全文
摘要:1 SEAndroid背景 Android对于操作系统安全性方面的增强一直沿用Linux内核所提供的MAC强制访问控制套件SELinux,对权限进行了更为深度的管理,有效地控制着进程对资源的访问。2012年才问世的SE Android将SELinux移植到Android平台上,以降低恶意应用程序攻...
阅读全文
摘要:把应用push到/system/app下面后,加载.so库的问题01-01 00:07:08.186: E/MessageQueue-JNI(2683): java.lang.UnsatisfiedLinkError: Couldn't load DeviceAPI from loader dalv...
阅读全文