- 博客(36)
- 收藏
- 关注
原创 libvirt支持sdl显示
SDL Graphics1>qemu编译的时候要--enable-sdllibvirt编译的时候要去掉 --enable-user=qemu --enable-group=qemuQEMU needs access to your $XAUTHORITY file in order to use SDL graphics.Configure SDL graphics
2014-11-13 18:22:08
525
原创 snapshot
qemu官方文档:http://qemu.weilnetz.de/qemu-doc.htmlqemu-img 快照#############################################################################qemu-img snapshot 实现的是内部快照qemu-img 的backing_file(不是qemu-im
2014-11-13 18:18:07
463
原创 host与guest共享
第一种libgustfs #####################################################################################[root@liuxuebing liuxbing]#yum install libguestfs libguestfs-tools没有文件系统的磁盘:[root@liuxuebing
2014-11-13 18:16:53
1183
原创 git服务器搭建
服务端==========1.安装ssh的服务器sudo apt-get install git-coresudo apt-get install git-daemon-runsudo apt-get install openssh-server2.建立git用户不用添加用户公钥sudo adduser gitsu gitcd ~mkdir .s
2014-10-04 21:12:51
365
原创 git远程仓库
远程仓库的相关使用 查看远程仓库:git remote ,另外,添加-v选项(verbose),可以显示对应的克隆地址; 查看某个远程仓库的详细信息:git remote show [remote-name] 添加远程仓库:git remote add [remote-name] [url] 远程仓库的改名:git remote rename [
2014-10-04 21:12:22
370
原创 Repo的manifest XML文件格式
Repo的manifest XML文件格式 Android使用repo来管理多个git项目。它需要一个manifest XML文件来指示这些git项目的属性。repo manifest XML可以包含下面的元素。· manifest: 最顶层的XML元素。· remote元素: 设置远程git服务器的属性,包括下面的属性 o name: 远程git服务器
2014-10-04 21:12:01
836
转载 repo命令的用法
repo命令的用法:$repo COMMAND OPTIONS可选参数用方括号("[]")括起来,可以使用下面指令获取每个repo命令的帮助信息:$repo help COMMAND许多命令使用工程列表作为参数,可以使用工程名或者工程所在的本地目录名:$repo sync [PROJECT0 PROJECT1 ... PROJECTN]$repo sync [/P
2014-10-04 21:10:52
1132
原创 repo服务器搭建
二.安装repo工具curl http://android.git.kernel.org/repo > /user/local/bin/repochmod a+x /user/local/bin/repo 由于android.git.kernel.org连接不上,从其他地方获得了repo和repo文件夹其中repo脚本中有#REP
2014-10-04 21:07:44
527
原创 c文件中使用编译环境变量
==============linux内核中================================.config中定义的变量自动写到include/generated/autoconf.h这样.config中的变量就能在c文件中使用了例如:.config: CONFIG_SLHC=yinclude/generated/autoconf.h: #define
2014-10-04 21:05:56
659
原创 判断分区是否为ext4文件系统
判断分区中是否有ext4文件系统:static int ckext4(char *fsdev){int fd;int ret;struct ext4_super_block sb; //if (setjmp(setjmp_env))//return -1;fd = open(fsdev, O_RDWR);if (fd return -1;re
2014-10-04 21:02:53
1220
原创 init-service.action
一.init有三个全局列表:static list_declare(service_list);static list_declare(action_list);static list_declare(action_queue);service_list记录了系统所有服务的列表;action_list记录了系统动作列表,但是相应的命令是不会运行的,除非将元素移动到q
2014-10-04 21:02:43
419
转载 Android签名
产生公钥和私钥: 签名: 使用android自带的签名工具signapk.jar 以及源码中的platform.x509.pem,platform.pk8 对apk进行签名。 执行:java -jar signapk.jar platform.x509.pem platform.pk8 old.apk new.apk 执行后new.apk即为签名
2014-10-04 21:00:16
285
原创 Android中odex
编译odex文件修改/build/core/package.mk,找到LOCAL_DEX_PREOPT := ture,把值改为false,这个是生成apk程序时只生成apk的包,不再生成odex。 修改/build/core/java_library.mk,找到LOCAL_DEX_PREOPT := ture,把值改为false,这个是生成jar程序时只生成jar的包,不再生
2014-10-04 20:58:40
387
原创 Android开机启动流程4_SystemServer
SystemServerSystemServer类注:SystemServer是zygote进程fork的第一个进程。SystemServer启动的service是指android中和binder通讯有关的service端。与apk中的service是不同的概念。@frameworks\base\services\java\com\android\server\ Syste
2014-10-04 20:56:58
346
原创 Android开机启动流程5_第三方code
这部分的代码都@frameworks\base\services\java\com\android\server\ SystemServer.java // We now tell the activity manager it is okay to run third party // code. It will call back into us onc
2014-10-04 20:56:19
423
原创 Android开机启动流程1_init
Android开机启动流程l Init进程源码:system\core\init\init.c说明:Android系统在启动时首先会启动Linux系统,引导加载Linux Kernel并启动init进程。Init进程是一个由内核启动的用户级进程,是Android系统的第一个进程。在main函数中,有如下代码:open_devnull_stdio();
2014-10-04 20:54:48
934
原创 Android开机启动流程3_zygote
zygotezygote进程启动@init.rcservice zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-serverapp_process的源码@frameworks\base\cmds\app_process\app_main.cpp i
2014-10-04 20:54:41
509
转载 Android中Acition和Category常量表
Android中Acition和Category常量表ActionAction常量对应字符串简单说明ACTION_MAINandroid.intent.action.MAIN应用程序入口ACTION_VIEWandroid.in
2014-10-04 20:53:24
426
原创 Android中预置库或者文件
Android.mk中LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) define PREBUILT_template LOCAL_MODULE:= $(1) LOCAL_MODULE_CLASS := APPS LOCAL_MODULE_SUFFIX := $$(COMMON_ANDR
2014-10-04 20:52:33
946
原创 rle格式文件制作
convert -depth 8 initlogo.bmp rgb:initlogo.raw ./rgb2565 -rle initlogo.rle
2014-10-04 20:51:48
680
原创 Android模拟input事件
#include #include #include #include #include #include #include #include void simulate_key(int fd,int kval){struct input_event event;event.type = EV_KEY;event.code = kval
2014-10-04 20:50:58
371
原创 Android开机动画
开机动画(闪动的ANDROID字样的动画图片)/Android 2.2版本:surfaceflingerSystemServer启动分为init1()和init2()两个阶段,在init1阶段获取属性字段system_init.startsurfaceflinger,如果字段值为1,那么就在这里启动surfaceflinger: //@frameworks\
2014-10-04 20:50:01
693
转载 Android按键
A:设备中断-------驱动------>内核按键码(SCANCODE)-------*.kl--------> android keycode(char*)--------- KeycodeLabels.h ------>android keyevent(int, KeyEvent.java)B:android keycode(char*)--------------- *.k
2014-10-04 20:47:47
386
原创 android内核编译
boot.img的生成过程make -C common O=../out/target/product/g18ref/obj/KERNEL_OBJ ARCH=arm CROSS_COMPILE=arm-eabi- meson6_g18_jbmr1_taixin_defconfig -j4 make -C common O=../out/target/product/g18ref
2014-10-04 20:45:59
446
原创 apk签名脚本
cert="platform.x509.pem"privatekey="platform.pk8"if [ ! -e $cert ]; then echo "$cert not found" exit 1fiif [ ! -e $privatekey ]; then echo "$privatekey not found" exit 1fir
2014-10-04 20:43:59
464
原创 Binder通过智能指针来实现server和client相互监控对方的退出
在client建立一个指针,指针指向server端new的一个对象。这样client的指针一旦释放,那server端这个对象类的析构函数就会被调用。
2014-10-04 20:42:04
286
原创 Android为什么引入HAL
Android为什么引入HALHAL的一些优势在前面章节已经提到,这里回顾一下。Android引入HAL不仅因为其自身的优势,而且还有一个非常重要的原因,就是为了保障在Android平台基于Linux开发的硬件驱动和应用程序不必遵循GPL(General Public License)许可而保持封闭,这保障了更多厂家的利益。我们都知道,Linux Kernel是开源的而且遵循GPL许可
2014-10-04 20:39:04
492
原创 Binder反向调用和linkToDeath来实现资源清理
Binder反向调用和linkToDeath来实现资源清理Client端:static sp dtvsrv = NULL;static sp client = NULL;class DtvResClient : public BnTxDtvResClient {public:int getClientPid() {return getpid();
2014-10-04 20:38:53
1344
转载 Android_HAL
一、概述本文希望通过分析台湾的Jollen的mokoid 工程代码,和在s5pc100平台上实现过程种遇到的问题,解析Andorid HAL的开发方法。二、HAL介绍现有HAL架构由Patrick Brady (Google) 在2008 Google I/O演讲中提出的,如下图。Android的HAL是为了保护一些硬件提供商的知识产权而提出的,是为了避开linux的G
2014-10-04 20:37:50
523
转载 Android.mk分析
Android.mk文件是GNU Makefile的一小部分,它用来对Android程序进行编译。因为所有的编译文件都在同一个 GNU MAKE 执行环境中进行执行,而Android.mk中所有的变量都是全局的。因此,您应尽量少声明变量,不要认为某些变量在解析过程中不会被定义。一个Android.mk文件可以编译多个模块,每个模块属下列类型之一:1)APK程序
2014-10-04 20:35:46
350
原创 android的Android.mk
first-makefiles-underall-subdir-makefilesall-makefiles-underinclude $(call all-makefiles-under) LOCAL_PATH := $(call my-dir)include $(call all-makefiles
2014-10-04 20:34:34
287
原创 Android文件权限
文件系统中文件的权限: 在 android 系统编译完成后会生成后缀为 img 的文件如:system.img、boot.img,包含了许多目录和文件。在编译的时候会用到 mkbootfs等命令,这些命令将会调用 system/core/include/private/android_filesystem_config.h文件中预定义的权限,来预置这些目录和文件的初始访问权限
2014-10-04 20:32:54
599
转载 Android环境变量TARGET_PRODUCT的作用
Android 编译系统是如何通过环境变量 TARGET_PRODUCT 来决定编译定制product.首先, 编译Android 代码 通常情况下使用:# make showcommands这实际上等价于下面的完整命令 (具体参见 build/core/envsetup.mk )# TARGET_ARCH=arm TARGET_PRODUCT=gene
2014-10-04 20:31:49
1849
原创 Android的build.prop生成
Build.prop由三部分组成:1)#begin build properties和#end build properties之间的部分;2)$(TARGET_DEVICE_DIR)/system.prop;3)#ADDITIONAL_BUILD_PROPERTIES之后的部分;Android的build.prop文件是在Android编译时收集的各种
2014-10-04 20:29:44
342
原创 android的m、mm、mmm编译命令的使用
android的m、mm、mmm编译命令的使用android源码目录下的build/envsetup.sh文件,描述编译的命令- m: Makes from the top of the tree.- mm: Builds all of the modules in the current directory.- mmm: Builds all of the m
2014-10-04 20:27:38
414
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人