1.androidç³»ç»å¼åè¦ç¨åªäºç¥è¯ï¼
2.怎么在手机上制作刷机包?
androidç³»ç»å¼åè¦ç¨åªäºç¥è¯ï¼
android ææ¯å å¹ç³»ç»å·
第1ç« åå¤å·¥ä½ /1 1.1 æ·±å ¥è®¤è¯android /2 1.1.1 androidçç³»ç»ææ¶ /2 1.1.2 androidçåå§åæµç¨ /5 1.1.3 å个å±æ¬¡ä¹é´çç¸äºå ³ç³» /8 1.1.4 androidç³»ç»å¼åï¼ç§»æ¤ï¼ååºç¨å¼å / 1.2 è·ååç¼è¯androidçæºç / 1.2.1 ç¯å¢é ç½® / 1.2.2 è·åandroidæºç / 1.2.3 ç¼è¯androidçæºç åå ¶å·¥å ·å / 1.2.4 è¿è¡androidç³»ç» / 1.3 å¼åç¯å¢æ建 / 1.3.1 åºç¨å¼åç¯å¢æ建 / 1.3.2 æºç å¼åç¯å¢æ建 / 1.4 androidæºç ç»æ / 1.5 å°ç» / 第2ç« androidçå æ ¸æºå¶åç»æåæ / 2.1 linuxä¸androidçå ³ç³» / .2.1.1 为ä»ä¹ä¼éæ©linux / 2.1.2 androidä¸æ¯linux / 2.2 android对linuxå æ ¸çæ¹å¨ / 2.2.1 goldfish / 2.2.2 yaffs2 / 2.2.3 èç / 2.2.4 è°åº¦å¨ï¼schedulerï¼/ 2.2.5 androidæ°å¢çé©±å¨ / 2.2.6 çµæºç®¡ç / 2.2.7 æ项 / 2.3 android对linuxå æ ¸çå¢å¼º / 2.3.1 alarmï¼ç¡¬ä»¶æ¶éï¼/ 2.3.2 ashmemï¼å¿åå åå ±äº«ï¼/ 2.3.3 low memory killerï¼ä½å å管çï¼/ 2.3.4 loggerï¼æ¥å¿è®¾å¤ï¼/ 2.3.5 android pmem / 2.3.6 switch / 2.3.7 timed gpio / 2.3.8 android ram console / 2.4 å°ç» / 第3ç« androidçipcæºå¶--binder / 3.1 binderæ¦è¿° / 3.1.1 为ä»ä¹éæ©binder / 3.1.2 åè¯binder / 3.2 binder驱å¨çåçåå®ç° / 3.2.1 binder驱å¨çåç / 3.2.2 binder驱å¨çå®ç° / 3.3 binderçææ¶ä¸å®ç° / 3.3.1 binderçç³»ç»ææ¶ / 3.3.2 binderçæºå¶ååç / 3.4 å°ç» / 第4ç« çµæºç®¡ç / 4.1 çµæºç®¡çæ¦è¿° / 4.2 çµæºç®¡çç»æ / 4.3 androidççµæºç®¡çæºå¶ / 4.4 androidçµæºç®¡çæºå¶çå®ç° / 4.5 å°ç» / 第5ç« é©±å¨çå·¥ä½åçåå®ç°æºå¶ / 5.1 æ¾ç¤ºé©±å¨ï¼framebufferï¼/ 5.1.1 framebufferçå·¥ä½åç / 5.1.2 framebufferçææ¶ / 5.1.3 framebuffer驱å¨çå®ç°æºå¶ / 5.2 è§é¢é©±å¨ï¼v4låv4l2ï¼/ 5.2.1 v4l2ä»ç» / 5.2.2 v4l2çåçåææ¶ / 5.2.3 v4l2çå®ç° / 5.3 é³é¢é©±å¨ï¼ossåalsaï¼/ 5.3.1 ossä¸alsaä»ç» / 5.3.2 ossçææ¶ä¸å®ç° / 5.3.3 alsaçææ¶ä¸å®ç° / 5.4 mtdé©±å¨ / 5.4.1 mtd驱å¨çåè½ / 5.4.2 mtd驱å¨çææ¶ / 5.4.3 mtd驱å¨çåçåå®ç° / 5.5 eventè¾å ¥è®¾å¤é©±å¨ / 5.5.1 inputçç³»ç»ææ¶ / 5.5.2 eventè¾å ¥é©±å¨çææ¶ / 5.5.3 eventè¾å ¥é©±å¨çåç / 5.5.4 eventè¾å ¥é©±å¨çå®ç° / 5.6 èç驱å¨ï¼bluetoothï¼/ 5.6.1 bluetooth驱å¨çææ¶ / 5.6.2 bluezçåçåå®ç° / 5.7 wlan驱å¨ï¼wi-fiï¼/ 5.7.1 wlanææ¶ / 5.7.2 wi-fi驱å¨çå®ç°åç / 5.8 å°ç» / 第6ç« åçåºçåçåå®ç° / 6.1 ç³»ç»cåºï¼bionic libcï¼/ 6.1.1 bionic libcåè½æ¦è¿° / 6.1.2 bionic libcå®ç°åç / 6.2 åè½åº / 6.2.1 webkitææ¶ä¸å®ç° / 6.2.2 å¤åªä½æ¡æ¶ä¸å®ç° / 6.2.3 android sqliteæ¡æ¶ååç / 6.3 æ©å±åº / 6.3.1 skiaåºå±åºåæ / 6.3.2 openglåºå±åºåæ / 6.3.3 android-opensslå®ç°åè¿ç¨ / 6.3.4 freetypeåfont engine manager / 6.3.5 freetypeç»æä½ç³»å渲ææµç¨ / 6.4 åçæå¡ / 6.4.1 audioflingerå®ç° / 6.4.2 surfaceflingerå®ç° / 6.5 å°ç» / 第7ç« ç¡¬ä»¶æ½è±¡å±çåçä¸å®ç° / 7.1 硬件æ½è±¡å±çå®ç°åç / 7.1.1 android halææ¶ / 7.1.2 android halçå®ç° / 7.2 android overlayææ¶ä¸å®ç° / 7.2.1 android overlayç³»ç»ææ¶ / 7.2.2 overlay halæ¡æ¶ä¸å®ç° / 7.2.3 overlayä¸surfacefinger / 7.3 android camera ææ¶ä¸å®ç° / 7.3.1 android cameraç³»ç»ææ¶ / 7.3.2 camera halæ¡æ¶ä¸å®ç° / 7.3.3 cameraæ¬å°å®ç° / 7.4 android audio halå®ç° / 7.4.1 audio halæ¡æ¶ / 7.4.2 androidé»è®¤çaudio halå®ç° / 7.4.3 dumpåè½çaudio halå®ç° / 7.4.4 åºäºa2dpçèçé³é¢è®¾å¤halå®ç° / 7.4.5 模æå¨ä¸çaudio halå®ç° / 7.5 android rilå®ç° / 7.5.1 android rilææ¶ / 7.5.2 radiooptiongså®ç° / 7.5.3 librilåºå®ç° / 7.5.4 reference-rilåºå®ç° / 7.5.5 rildå®æ¤è¿ç¨å®ç° / 7.5.6 requestæµç¨åæ / 7.5.7 responseæµç¨åæ / 7.6 android sensor halå®ç° / 7.6.1 android sensoræ建 / 7.6.2 sensor halæ¥å£ / 7.6.3 sensor halå®ç° / 7.7 android wifi halå®ç° / 7.7.1 android wifiç³»ç»ææ¶ / 7.7.2 wpa_supplicantæ¡æ¶ / 7.7.3 wifi halå®ç° / 7.8 androidèçæ¬å°å®ç° / 7.8.1 androidèçææ¶ / 7.8.2 bluezç»æä½ç³» / 7.8.3 bluezéé å± / 7.9 android å®ä½å®ç° / 7.9.1 å®ä½ç³»ç»ææ¶ / 7.9.2 gps halå®ç° / 7. android power halå®ç° / 7. android vibrator halå®ç° / 7. å°ç» / 第8ç« dalvikèææºçææ¶ãåçä¸å®ç° / 8.1 dalvikèææºæ¦è¿° / 8.1.1 ä»ä¹æ¯dalvikèææº / 8.1.2 dalvikèææºçåè½ / 8.1.3 dalvikèææºä¸javaèææºçåºå« / 8.2 dalvikææ¶ä¸å®ç° / 8.2.1 dalvikç³»ç»ææ¶ / 8.2.2 dxådexdumpå·¥å · / 8.2.3 .dexæä»¶æ ¼å¼è§£æ / 8.2.4 dalvikå é¨æºå¶ / 8.2.5 dalvikè¿ç¨ç®¡ç / 8.2.6 dalvikå å管ç / 8.2.7 dalvikå è½½å¨ / 8.2.8 dalvik解éå¨ / 8.2.9 dalvik jit / 8.3 jniçææ¶ä¸å®ç° / 8.3.1 jniææ¶ / 8.3.2 jniå®ç° / 8.4 å°ç» / 第9ç« android æ ¸å¿åº / 9.1 androidæ ¸å¿åºç®ä» / 9.2 androidç³»ç»api / 9.2.1 androidå / 9.2.2 androidèµæºå / 9.2.3 apicheckæºå¶ / 9.3 å°ç» / åè®° /
怎么在手机上制作刷机包?
.
目前有好几种方法来安装软件或是源码库文件到你的Android手机上。你可以使用市场程序来查找并安装软件,源码也可以使用adb命令行工具来安装或是源码发送文件到你的Android文件系统中。这些方法对于操作单个文件来说都挺方便的源码,但是源码如果你需要一次性安装多个软件或是库文件时,那么最为方便的源码神奇代码指标源码方法大概就是使用update.zip(也就是刷机包)文件了。Android系统使用恢复工具(recovery)来安装这个update.zip文件中的源码软件或库文件到Android文件系统中。而一个ROM或是源码主题开发者通常都是使用这个方式来发布他们的作品(刷机包)。
创建一个update.zip文件是源码很简单的事情,你所需要做的源码就是将文件放置到与Android文件系统中相对应的文件夹中,然后编写一个用来复制这些文件到手机对应位置的源码update-script文件。作为举例,源码本文会安装Calculator.apk到system/app文件夹,源码复制libsec-ril.so文件到system/lib文件夹:
新建一个空文件夹(本文例:C:\mumayi)
新建用来放置Calculator.apk的源码文件夹C:\mumayi\system\app以及用来放置libsec-ril.so的文件夹C:\mumayi\system\lib。
创建用来放置update-script文件的源码168最新源码文件夹C:\mumayi\META-INF\com\google\android。
创建一个名为update-script的文件,其内容如下(高亮部分):
行1和行5:显示进度条
行3:复制刷机包中的system文件夹到Android的/system
注意:你应该在文件的最末尾多添加一个空行(也就是行6)
将C:\mumayi压缩中的所有内容压缩为zip包(千万记住:是压缩mumayi这个文件夹中的内容,不是mumayi文件夹本身)
为mumayi.zip签名
签名命令:java -jar signapk.jar certificate.pem key.pk8 mumayi.zip update.zip
将update.zip文件复制到SD卡中,然后手机进入recovery界面来刷入这个刷机包
进阶学习:(以下仅作参考,因实际情况不同,可能会有一定的出入。但是抖推程序源码极度推荐学习本部分)
update-script 语法参考(在Android源码的recovery.c文件中定义):
copy_dir
语法:copy_dir <源目录> <目标目录> [<时间戳>]
描述:复制<源目录>中的内容到<目标目录>中。如果<源目录>中没有同名文件进行覆盖,那么<目标目录>中的原始内容会仍然存在不变。
示例:copy_dir PACKAGE:system SYSTEM:,这个命令会把刷机包中的system文件夹复制到手机的/system文件夹中
format
语法:format <根目录>
描述:格式化一个分区。
示例:format SYSTEM:,这个命令会格式化整个/system。注意:格式化时所进行的任务悬赏赚钱源码数据删除操作是不可逆转的。
delete
语法:delete <文件1> [... <文件N>]
描述:删除文件。
示例:delete SYSTEM:app/Calculator.apk,这个命令会删除手机system/app文件夹中的Calculator.apk文件。
delete_recursive
语法:delete_recursive <文件或目录1> [... <文件或目录N>]
描述:删除一个文件或递归删除某个文件夹(也就是包括该文件夹中的所有内容)
示例:delete_recursive DATA:dalvik-cache,这个命令会删除/data/dalvik-cache文件夹以及该文件夹中的所有内容。
run_program
语法:run_program <执行程序> [<参数> ...]
描述:运行一个刷机包中的外部程序。
示例:run_program PACKAGE:install_busybox.sh,原生开源app源码这个命令会执行刷机包中的install_busybox.sh脚本(命令行)。
set_perm(本命令中涉及的数值,如有疑惑,请自行Google。uid=user id,gid=group id)
语法:set_perm <uid> <gid> <属性> <路径> [... <路径N>]
描述:设置某个文件或是指定的整个目录树的所有者和权限,就像是一个‘chmod’、‘chown’、以及‘chgrp’命令的集合体。
示例:set_perm 0 SYSTEM:etc/init.goldfish.sh,这个命令会设置手机上system分区中etc/init.goldfish.sh文件的用户组为:shell;用户为:root;权限为:所有者以及所属用户组成员可以进行读取和执行操作,其他用户无操作权限。
set_perm_recursive(本命令中涉及的数值,如有疑惑,请自行Google。uid=user id,gid=group id)
语法:set_perm_recursive <uid> <gid> <文件夹属性> <文件属性> <路径> [... <路径N>]
描述:递归设置某个文件夹中所有内容的所有者和权限
示例:set_perm_recursive 0 0 SYSTEM:app,这个命令会递归设置手机上system/app文件夹以及其所有内容的用户组为:root;用户为:root;app文件夹的权限为:所有者可以进行读、写、执行操作,其他用户可以进行读取和执行操作;app文件夹下的所有文件的权限为:所有者可以进行读写操作,其他用户可以进行读取操作。
show_progress
语法:show_progress <小数> <持续时间>
描述:为下一个操作在屏幕上显示一个进度条,自动的根据<持续时间>指定的秒数来递增进度条状态(如果实际上进度条的推进是可以确定的,那就会更加迅速)。
示例:show_progress 0.1 0,这个命令是指,操作完成后,进度条前进0.1(%)
symlink
语法:symlink <链接目标> <链接所在路径>
描述:创建一个符合链接(就像是 ‘ln-s’)。<链接所在路径>的格式类似于这样:根目录:路径, 但是<链接目标>则是指目标文件(而且位置可能是相对与链接所在路径的)
示例:symlink /system/bin/su SYSTEM:xbin/su,这个命令会为/system/bin/su在手机system分区的xbin文件夹下创建一个符号链接,名为su