首先通過編譯,先將android內核編譯成功.正常情況下,在目錄out/target.product/generic/(但是有的就沒有generic文件,如freescale和iriver:但是lonshinetech下面就有這個文件,依據情況而定,只要能找到生成的三個文件就可以.例如:~/freescale/R9.2/out/target/product/imx51_bbg$ )下會生成三個文件:ramdisk.img,system.img,userdata.img.這三個文件的作用如下: (…
boot.img(kernel.img+ramdisk.img) ramdisk.img(/) system.img(/system) userdata.img(/data) cache.img(/cache) recovery.img(kernel.img+ramdisk-recovery.img) ramdisk-recovery.img(/)…
Linux下 解包/打包 Android 映像文件 system.img, boot.img, ramdisk.img, userdata.img. 2014年10月20日 ⁄ 计算机视觉 ⁄ 共 1372字⁄ ⁄ 暂无评论 转自: http://blog.csdn.net/yulix/article/details/12968705 Android源码编译成功后会输出映像文件:system.img,boot.img, ramdisk.img,userdata.img等等.有时我们需要修改里面的…
本篇文章讲解 system.img 是什么东西,以及它的打包和解包方式 system.img 是什么 system.img 是 Android 系统中用来存放系统文件的镜像 (image) ,文件格式为 yaffs2 或者 ext 的文件系统 ,在 Android 源码编译后会生产该文件.它将被 init 进程通过解析 init.rc 文件挂载 (mount) 到 /system 目录或者说 system 分区下 如何制作 system.img 使用下面的命令来即可制作一个 system.img…
原文网址:http://www.111cn.net/sj/android/44496.htm 下面介绍一篇Android出现“Read-only file system”解决办法 有碰到这类问题的朋友可参考参考.     Android-出现Read-only file system的解决方法 输入命令:  代码如下 复制代码 mount -o remount rw /system (每次都要执行一次) 有的朋友说是是“/”的问题,命令改为:adb push AlarmClock.apk sys…
下面介绍一篇Android出现“Read-only file system”解决办法 有碰到这类问题的朋友可参考参考.   Android-出现Read-only file system的解决方法 输入命令:  代码如下 复制代码 mount -o remount rw /system (每次都要执行一次) 有的朋友说是是“/”的问题,命令改为:adb push AlarmClock.apk systemapp  即“/”改为“”即可.  adb push 电脑路径 模拟器路径 在电脑路径中必须…
摘要:本文是参考大量网上资源在结合自己查看源代码总结出来的,让自己同时也让大家加深对Android系统启动过程有一个更加深入的了解!再次强调,本文的大多数功劳应归功于那些原创者们,同时一些必要的参考链接我会一一附上. 注:由于本人采用Exynos4412开发板学习,所以本文大部分资料都是基于此处理器的 简介:对于整个Android系统的启动总的来说分为三个阶段: BootLoader引导即uBoot.bin linux内核启动即zImage Android系统启动即ramdisk.img与sys…
有的时候,我们配置好的布局文件,在加载完成添加到我们的Activity中后发现,并没有安装我们设置的属性来布局,比如我们设置了android:layout_marginTop="100dip",但是运行程序后发现一点作用都没有,相似的还有layout_height等以android:layout_开头的属性设置都没有作用,这类问题以我们使用Adapter的作为数据源的时候作用居多,因为Adapter里有一个方法是getView,这个返回的VIew是一个从XML布局里加载的,一般如下:…
Android系统启动过程 首先Android框架架构图:(来自网上,我觉得这张图看起来很清晰) Linux内核启动之后就到Android Init进程,进而启动Android相关的服务和应用. 启动的过程如下图所示:(图片来自网上,后面有地址)   下面将从Android4.0源码中,和网络达人对此的总结中,对此过程加以学习了解和总结, 以下学习过程中代码片段中均有省略不完整,请参照源码. 一 Init进程的启动 init进程,它是一个由内核启动的用户级进程.内核自行启动(已经被载入内存,开始…
转自:http://www.cnblogs.com/bastard/archive/2012/08/28/2660389.html Android系统启动过程 首先Android框架架构图:(来自网上,我觉得这张图看起来很清晰) Linux内核启动之后就到Android Init进程,进而启动Android相关的服务和应用. 启动的过程如下图所示:(图片来自网上,后面有地址)   下面将从Android4.0源码中,和网络达人对此的总结中,对此过程加以学习了解和总结, 以下学习过程中代码片段中均…
Android BLE与终端通信(三)--客户端与服务端通信过程以及实现数据通信 前面的终究只是小知识点,上不了台面,也只能算是起到一个科普的作用,而同步到实际的开发上去,今天就来延续前两篇实现蓝牙主从关系的客户端和服务端了,本文相关链接需要去google的API上查看,需要FQ的 Bluetooth Low Energy:http://developer.android.com/guide/topics/connectivity/bluetooth-le.html 但是我们依然没有讲到BLE(…
本文记录Android系统启动过程,包含从linux kernerl到luancher启动完成的过程: 1.linux内核完成系统设置后,会在系统文件中寻找‘init’文件,然后启动root进程或者说系统的第一个进程: 2.init进程是linux内核完成系统设置之后启动的第一个进程或者说root进程,它也是其他所有进程的父进程,其有两个作用,一个是挂载目录,比如/sys,/dev等,二是运行init.rc脚本或init.xxx.rc脚本: 3.Init.rc脚本是Android自己规定的初始化…
Activity的类继承关系及跟踪Activity的启动 Android系统启动过程 https://study.163.com/course/courseLearn.htm?courseId=213005#/learn/video?lessonId=310026&courseId=213005…
前言 上一篇文章我们学习了Context关联类和Application Context的创建过程,这一篇我们接着来学习Activity和Service的Context创建过程.需要注意的是,本篇的知识点会和深入理解四大组件系列的部分文章的知识点相重合. 1.Activity的Context创建过程 当我们在Activity中调用startActivity方法时,其实调用的是Context的startActivity方法,如果想要在Activity中使用Context提供的方法,务必要先创建Con…
Android BLE与终端通信(三)--client与服务端通信过程以及实现数据通信 前面的终究仅仅是小知识点.上不了台面,也仅仅能算是起到一个科普的作用.而同步到实际的开发上去,今天就来延续前两篇实现蓝牙主从关系的client和服务端了.本文相关链接须要去google的API上查看,须要FQ的 Bluetooth Low Energy:http://developer.android.com/guide/topics/connectivity/bluetooth-le.html 可是我们依旧…
from: http://www.addictivetips.com/mobile/android-partitions-explained-boot-system-recovery-data-cache-misc/ Unless you have been using your Android phone just for calls, SMS, browsing and basic apps, you should know that Android uses several partiti…
Android的用户输入处理 Android的用户输入系统获取用户按键(或模拟按键)输入,分发给特定的模块(Framework或应用程序)进行处理,它涉及到以下一些模块: Input Reader: 负责从硬件获取输入,转换成事件(Event), 并分发给Input Dispatcher. Input Dispatcher: 将Input Reader传送过来的Events 分发给合适的窗口,并监控ANR. Input Manager Service: 负责Input Reader 和 Inpu…
This will guide you through the steps to write your first uiautomator test using gradle as it build system. What is gradle? “Gradle combines the power and flexibility of Ant with the dependency management and conventions of Maven into a more effectiv…
注意:以下代码中#开头的则为需要执行的shell命令,其他的为打印的结果.#代表需要使用ROOT权限(su)执行,所以想要修改您android手机某个目录挂载为读写,首先需要有ROOT权限! 先要得到system分区的全名 #adb shell # mount rootfs / rootfs ro 0 0 tmpfs /dev tmpfs rw,mode=755 0 0 devpts /dev/pts devpts rw,mode=600 0 0 proc /proc proc rw 0 0 s…
Translucent System Bar 的最佳实践 近几天准备抽空总结Android一些系统UI的实践使用,于是开始动手建了一个库AndroidSystemUiTraining ,边撸代码边写总结 今天开写第一篇,对 Translucent System Bar 的实践做一些总结.说起 Translucent System Bar 的特性,可能有些朋友还比较陌生,这里做一下简单的介绍. Android 4.3豌豆荚 看上图,Android 4.4之前,即使我们打开手机app,我们还总是能看…
1 Process.killProcess  和 System.exit(0) 两个都会 kill 掉当前进程. 你可以打开 DDMS 查看进程号,或 adb shell 进入 shell 然后 ps 一下,进程确实被 kill 掉了. 2 如果是在第一个 Activity 调用 Process.killProcess 或 System.exit(0) 都会 kill 掉当前进程. 但是如果不是在第一个 Activity 中调用,如 ActivityA 启动 ActivityB ,你在 Acti…
从源码看来,android.process.acore进程应该是一些基本功能的载入程序. android-4.3_r2.2中,它包括以下项目: 1.UserDictionaryProvider <application android:process="android.process.acore" android:label="@string/app_label" android:allowClearUserData="false" and…
转的一篇: 以修改hosts文件为例: 由于某些原因,可能需要指定域名对应的IP地址.Android是基于Linux的系统,与Linux类似,通过hosts文件来设置. 在Android下,/etc是link到/system/etc的,我们需要修改/system/etc/hosts来实现.但是这个文件是只读,不能通过shell直接修改.可以通过连接到PC上使用adb来修改.步骤如下: 1.获得root权限:adb root 2.设置/system为可读写:adb remount 3.将hosts…
对于Android for arm上的so注入(inject)和挂钩(hook),网上已有牛人给出了代码inject.由于实现中的ptrace函数是依赖于平台的,所以不经改动只能用于arm平台.本文将之扩展了一下,使它能够通用于Android的x86和arm平台.Arm平台部分基本重用了inject中的代码,其中因为汇编不好移植且容易出错,所以把shellcode.s用ptrace_call替换掉了,另外保留了mmap,用来传字符串参数,当然也可以通过栈来传,但栈里和其它东西混一起,一弄不好就会…
操作AVD文件系统上的文件时遇到"... Read-only file system". 解决办法: 将AVD sdcard挂载为读写权限: 在doc下执行:adb -s emulator-xxxx shell,然后执行: mount -wo remount rootfs /sdcard将文件系统remount为读写权限. 改回只读权限: 在doc下执行:adb -s emulator-xxxx shell,然后执行: mount -ro remount rootfs /sdcard将…
在/system/etc/mkshrc文中尾部添加以下代码即可: # for busybox for n in $(busybox --list) do eval alias $n=\'busybox $n\' done 这样子方便没有基本命令的手机进行调试:…
操作设备文件系统上的文件结果遇到"... Read-only file system". 解决办法: 1. 最简单的,adb remount 2. 不行的话,adb shell su之后将文件系统remount为读写权限: mount -o remount rw /system.出于安全考虑,记得完事后remount回只读: mount -o ro,remount /system 3. 和方法2类似,mount -o rw,remount -t ext3 /dev/block/mmcb…
Alsa Lib: File path:external/tinyalsa Audio Hal Library: Core File path:hardware/libhardware_legacy/audio/audio_hw_hal.cpp HAL library file:/system/lib/hwaudio.primary.default.so/audio.primary.herring.so,herring可能会随不同厂商有不同变化,/system/lib/hw目录有时会同时存在两个…
finish只是将此activity推向后台,并没有释放资源. 而system.exit则是杀死进程,会释放资源…
finish()与System.exit(0)都是用来退出.但是两者还是有一定的区别: finish是Activity的类,仅仅针对Activity,当调用finish()时,只是将活动推向后台,并没有立即释放内存,活动的资源并没有被清理.当调用System.exit(0)时,杀死了整个进程,这时候活动所占的资源也会被释放. 所以想完全退出程序,应该使用System.exit(0)(这里不考虑后台服务等情况).如果想在多个Activity之间共享数据,应该使用finish().…