android
文章平均质量分 56
foreverunite
这个作者很懒,什么都没留下…
展开
-
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 · 280 阅读 · 0 评论 -
Binder通过智能指针来实现server和client相互监控对方的退出
在client建立一个指针,指针指向server端new的一个对象。这样client的指针一旦释放,那server端这个对象类的析构函数就会被调用。原创 2014-10-04 20:42:04 · 277 阅读 · 0 评论 -
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 · 932 阅读 · 0 评论 -
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 · 516 阅读 · 0 评论 -
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 · 323 阅读 · 0 评论 -
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 · 1762 阅读 · 0 评论 -
Android文件权限
文件系统中文件的权限: 在 android 系统编译完成后会生成后缀为 img 的文件如:system.img、boot.img,包含了许多目录和文件。在编译的时候会用到 mkbootfs等命令,这些命令将会调用 system/core/include/private/android_filesystem_config.h文件中预定义的权限,来预置这些目录和文件的初始访问权限原创 2014-10-04 20:32:54 · 576 阅读 · 0 评论 -
Android.mk分析
Android.mk文件是GNU Makefile的一小部分,它用来对Android程序进行编译。因为所有的编译文件都在同一个 GNU MAKE 执行环境中进行执行,而Android.mk中所有的变量都是全局的。因此,您应尽量少声明变量,不要认为某些变量在解析过程中不会被定义。一个Android.mk文件可以编译多个模块,每个模块属下列类型之一:1)APK程序转载 2014-10-04 20:35:46 · 342 阅读 · 0 评论 -
Android为什么引入HAL
Android为什么引入HALHAL的一些优势在前面章节已经提到,这里回顾一下。Android引入HAL不仅因为其自身的优势,而且还有一个非常重要的原因,就是为了保障在Android平台基于Linux开发的硬件驱动和应用程序不必遵循GPL(General Public License)许可而保持封闭,这保障了更多厂家的利益。我们都知道,Linux Kernel是开源的而且遵循GPL许可原创 2014-10-04 20:39:04 · 481 阅读 · 0 评论 -
Android中Acition和Category常量表
Android中Acition和Category常量表ActionAction常量对应字符串简单说明ACTION_MAINandroid.intent.action.MAIN应用程序入口ACTION_VIEWandroid.in转载 2014-10-04 20:53:24 · 413 阅读 · 0 评论 -
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 · 342 阅读 · 0 评论 -
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 · 378 阅读 · 0 评论 -
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 · 416 阅读 · 0 评论 -
判断分区是否为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 · 1187 阅读 · 0 评论 -
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 · 453 阅读 · 0 评论 -
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 · 436 阅读 · 0 评论 -
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 · 373 阅读 · 0 评论 -
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 · 361 阅读 · 0 评论 -
rle格式文件制作
convert -depth 8 initlogo.bmp rgb:initlogo.raw ./rgb2565 -rle initlogo.rle原创 2014-10-04 20:51:48 · 665 阅读 · 0 评论 -
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 · 916 阅读 · 0 评论 -
Android开机启动流程2_ServiceManager
pass原创 2014-10-04 20:55:31 · 307 阅读 · 0 评论 -
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 · 493 阅读 · 0 评论 -
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 · 398 阅读 · 0 评论 -
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 · 400 阅读 · 0 评论 -
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 · 1328 阅读 · 0 评论 -
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 · 277 阅读 · 0 评论