分类: Android 系统开发(5)                                              作者同类文章X 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+] 一 CyanogenMod 开发基础 CyanogenMod 开发相关资料推荐 1 官方资料 2 国内 CyanogenMod 相关 高质量 博客 网站 文章 二 安装 CyanogenMod 官方提供的 Mi4 Recovery 和 ROM 基带版本…
<Android系统开发>笔记1:Android系统概述 Android四层架构: 1. Linux Kernel&driver层 a.依赖于Linux 2.6内核,包含安全性.内存管理.进程管理,网络协议栈.驱动模型等b.Android自己加入的驱动,Binder IPC驱动,显示驱动,输入设备驱动.音频系统驱动,摄像头驱动,Wifi驱动.蓝牙驱动,电源管理等 2. Android本地库 & Java执行环境层 Android本地库(C/C++)Bionic:为嵌入式设备定制…
Android系统开发--Android灯光系统之电池灯的流程分析 前期系统准备 运行初始化,创建系统服务 创建电池服务,获得电池灯;创建监听者监听上报电池事件: mSystemServiceManager.startService(BatteryService.class); mLed = new Led(contegetLocalService(LightsManager.class)); //实例化灯对象 mBatteryLight = lights.getLight(LightsMana…
实训项目 :               Android系统开发实务实训                           项目成品名称:         绝地坦克                                  项目源码获取:                            https://pan.baidu.com/s/1uHwmhxDDm90napWOBL7Lbw   提取码:az55 <绝地坦克>是一款坦克大战类型的javascript网络游戏,本游戏项目运行…
前言 一般情况下,我们使用的签名都是自己生成的Java签名来编译APP. 但是,如果需要开发一些特定设备的APP(对权限有更高的要求,需求一些系统基本的权限,比如让APP可以控制设备的休眠),那就需要编译系统签名的APP. 首先你还要明白,APP系统签名的文件必需是你当前设备的系统签名文件一致,这种签名文件只有你自己是Android系统开发才能获取到(Rom是你自己打包的). 准备工作 在github上下载工具 https://github.com/getfatday/keytool-impor…
题外话 18 年我从 Android 应用开发转 Framework 层开发了,从此开启了 996 幸福生活,博客技术文更新基本停滞了,被工作占据了过多的精力,实在没时间像以前一样拟稿.写作,实践.反复修改去精心准备文章,另外也不知道该写什么了,很多经验心得都会涉及到项目本身,公司内部倒是写了不少总结文档,然而工作的事不便公开分享出来.我是一个在乎别人的看法,之前被很多人骂"江郎才尽",其实我是很难受的. 在转 Framework 其实一开始我是很不适应,适应新环境也并没有想象当中那么…
Makefile是什么? makefile的作用: 1.project文件组织,编译成复杂的程序 2.安装及卸载我们的程序 Makefile使用演示样例 在/home/username/makefile文件夹下有例如以下三个文件: main.c #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ int x, y; sscanf(argv[1], "%u", &…
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6581828 在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录.在Android系统中,提供了简单.便利的LOG机制,开发人员可以方便地使用.在这一篇文章中,我们简单介绍在Android内核空间和用户空间中LOG的使用和查看方法. 一. 内核开发时LOG的使用.Android内核…
博客地址 : http://blog.csdn.net/shulianghan/article/details/40299813  本篇文章中用到的工具源码下载 : -- ok-6410A 附带的 Android 光盘 下载地址 : http://pan.baidu.com/share/link?shareid=3662728609&uk=2754759285 ; -- 光盘所含内容 : Android 引导 u-boot 源码, Android 内核 源码, Android 系统源码, 交叉编…
一. Android 框架 Android框架层级 : Android 自下 而 上 分为 4层; -- Linux内核层; -- 各种库 和 Android运行环境层; -- 应用框架层; -- 应用层; 1. Linux内核层 Android 的 Linux 内核层 组成 : Linux 内核 和 驱动程序; Linux内核 : Android 2.x 是基于 Linux 2.6 内核; 驱动程序 : -- Display Driver (显卡驱动) : Linux 的帧缓冲 驱动; --…
本文转载自:http://blog.csdn.net/luoshengyang/article/details/6581828 在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录.在Android系统中,提供了简单.便利的LOG机制,开发人员可以方便地使用.在这一篇文章中,我们简单介绍在Android内核空间和用户空间中LOG的使用和查看方法. 一. 内核开发时LOG的使用.Android内核是基于Linux Kerne 2.36…
http://blog.csdn.net/shagoo/article/details/6709430 > 开发环境1.安装 Eclipse 和 android-sdk 并解压安装2.Eclipse 安装 AVD 插件 https://dl-ssl.google.com/android/eclipse/ 并配置 SDK Location3.打开 SDK Manager 安装 android packages 并配置 Virtual device(比如名为:Android_2.2)4.启动 Vir…
随着智能平台的终端设备不断发展,迫切需要我们解决这些终端的管理问题,而现有的终端统一管理平台已经成熟,主要是基于tr069协议网管平台,比如华为的itms等终端管理平台.所以,这篇文章就是为了实现一种Android平台的tr069网管代理使得现有的终端管理平台也可以管理智能终端.   看过我的博文系列<CWMP开源代码研究>的读者应该不会忘记最后一篇,我一直有一个想法是要开发一个完全可以自由的移植CWMP核心代码到Android系统下,并且与业务层代码分离,让自由开发者不再关心复杂的协议代码,…
Android操作系统 Android是一个基于Linux.使用java作为程序接口的操作系统. 他提供了一些工具,比如编译器.调试器.还有他自己的仿真器(DVM — Dalvik Virtual Machine). Android是由google领导的Open Handset Alliance开发的. Android使用的虚拟机比较特别.Dalvik使用了一些特别的方法.你在Android上不能运行普通的Java程序. Android提供了一个dx的工具,可以把普通的Java类文件转换为dex…
作者 : 万境绝尘 (octopus_truth@163.com) 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/38895481 Android 系统启动总结 : Android 系统启动分底层 Linux 内核启动 和 应用系统启动; -- 底层系统启动 : 系统上电, bootloader 启动, linux kernel 启动, init 进程启动; -- 应用系统启动 : init 进程启动关键的进程如 Zygot…
下载Android源码简要流程 : a. 获取repo文件: curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo .注意执行该文件需要python2.5以上版本,如果是2.4.3的python版本就无法执行这个文件脚本; b. 修改repo权限 : chmod a+x ~/bin/repo , 如果repo没有执行权限, 该脚本也无法执行; c. 初始化repo文件 : repo in…
手机的AP和BP根据上下文可以指代硬件和软件两种意思.  1) 大多数的手机都含有两个处理器.操作系统.用户界面和应用程序都在Application Processor(AP)上执行,AP一般采用ARM芯片的CPU.而手机射频通讯控制软件,则运行在另一个分开的CPU上,这个CPU称为Baseband Processor(BP). 把射频功能放在BP上执行的主要原因是:射频控制函数(信号调制.编码.射频位移等)都是高度时间相关的.最好的办法就是把这些函数放在一个主CPU上执行,并且这个主CPU是运…
GCC编译器介绍 GCC编译器(GNG C Compiler)是GNU项目中符合ANSI C标准的编译系统,能够编译C  C++  Object C等语言编写的程序,同时GCC也是一个交叉编译器,特别使用于不同平台的嵌入式开发. GNU: GNU是"GNU is Not Unix"的递归缩写,1984年,史托曼开始GNU项目,这个项目的目的是创建一个自由,开放的Unix操作系统(Free UNIX),刚开始史托曼参考UNIX上面的软件,开发出功能类似的软件,在开发期间并没有看其他软件的…
一.操作系统的体系结构 计算机是由一堆硬件组成的,操作系统是为了有效的控制这些硬件资源的软件.操作系统除了有效地控制这些硬件资源的分配.并提供计算机执行所须要的功能之外,为了提供程序猿更easy开发软件的环境.操作系统还提供了一整组系统调用接口. 如上图所看到的,最中间的是硬件.操作系统是由内核和系统调用接口组成,当中内核是直接操作硬件的,内核提供了对这些硬件资源的控制和进程管理.系统调用接口向上提供了统一的调用接口方便开发者调用. 最上层就是应用程序,在应用程序中调用系统接口就能实现对硬件的操…
Autotools工具的构成 1.autoscan autoscan是用来扫描源码文件夹生成configure.san文件的,configure.san包括了系统配置的基本选项.里面都是一些宏定义,我们须要将它的名字改为configure.in 2.aclocal aclocal是一个perl脚本程序.aclocal依据configure.in文件内容自己主动生成aclocal.m4文件,生成的aclocal.m4文件是宏展开文件. 3.autoconf autoconf是用来产生configu…
1. 安装 Source Insight (1) Source Insight 相关资源 安装相关资源 : -- 下载地址 : http://www.sourceinsight.com/down35.html; -- 注册码 : SI3US-361500-17409 . 2. 导入 Android 源码 导入 Android 源码 : -- 创建工程 : Project -> New Project, 输入一个工程名, 文件路径设置为 Android 源码路径, 这个一定要注意, 否则会拷贝整个…
cat /proc/partitions 查看有u盘设备 df 查看挂载情况 iTOP4416开发板插入u盘,自动挂载到 /mnt/udisk1…
1. 安装 Source Insight (1) Source Insight 相关资源 安装相关资源 : -- 下载地址 : http://www.sourceinsight.com/down35.html; -- 注冊码 : SI3US-361500-17409 . 2. 导入 Android 源代码 导入 Android 源代码 : -- 创建project : Project -> New Project, 输入一个project名, 文件路径设置为 Android 源代码路径, 这个一…
一.proc文件系统 传统意义上的文件系统是用于块设备上信息的存储,/proc这个目录是一个虚拟文件系统,它放置的数据都是在内存当中,所以这个目录本身不占用任何硬盘空间.主要包含如下系统信息: 内存管理 系统进程特征数据 文件系统 设备驱动程序 系统总线 电源管理 终端 系统控制参数 用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数.由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的.下面列出的这…
一.常用函数 fopen: FILE *fopen(const char *filename, const char *mode); fread: size_t  fread(void *ptz, size_t size, size_t nitems, FILE *stream); fwrite: size_t fwrite(const void *ptz, size_t size, size_t nitems, FILE *stream); fclose: int fclose(FILE *s…
jni.h文件 : 了解 JNI 需要配合 jni.h 文件, jni.h 是 Google NDK 中的一个文件, 位置是 $/Android-ndk-r9d/platforms/android-19/arch-arm/usr/include/jni.h ; 1. JNIEnv 作用 JNIEnv 概念 : 是一个线程相关的结构体, 该结构体代表了 Java 在本线程的运行环境 ; JNIEnv 与 JavaVM : 注意区分这两个概念; -- JavaVM : JavaVM 是 Java虚拟…
调试的过程 我们在eclipse中来看一下一般调试的过程: 1.debug模式编译 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF3YW5nYW5iYW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" /> 2.打上断点 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5…
. jni.h文件 : 了解 JNI 需要配合 jni.h 文件, jni.h 是 Google NDK 中的一个文件, 位置是 $/android-ndk-r9d/platforms/android-19/arch-arm/usr/include/jni.h ; 1. JNIEnv 作用 JNIEnv 概念 : 是一个线程相关的结构体, 该结构体代表了 Java 在本线程的运行环境 ; JNIEnv 与 JavaVM : 注意区分这两个概念; -- JavaVM : JavaVM 是 Java…
一.下载JDK 官方下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 二.下载eclipse for c/c++ 官方下载地址:http://www.eclipse.org/downloads/ 下载后的JDK和Eclipse 三.安装JDK 1.解压jdk压缩包 tar -xvzf jdk-8u20-linux-i586.gz 2.拷贝到/usr/local下 3.配…
Android系统开发--Android灯光系统tiny4412_led_class驱动编写 框架分析 led_classdev_4412结构体 创建led_classdev_4412结构体 分配结构体空间 struct led_classdev_4412 { struct led_classdev cdev; int gpio; }; struct led_classdev { const char *name; int brightness; int max_brightness; int…