Android 制作 升级包

发布时间:2014-10-22 19:59:11编辑 分享查询网我要评论
本篇文章主要介绍了"Android 制作 升级包",主要涉及到Android 制作 升级包方面的内容,对于Android 制作 升级包感兴趣的同学可以参考一下。

Android  制作 升级包 如何制作自己的android升级包( 2010-09-04 19:34 手动制作update.zip包的过程: 1.创建一个update目录,该目录包含自己想要升级或替换的内容 例如: update/ update/system update/system/app update/system/app/doodle_jump.apk update/META-INF update/META-INF/com update/META-INF/com/google update/META-INF/com/google/android update/META-INF/com/google/android/update-script 该目录包含doodle_jump游戏,升级后该apk将出现在手机的/system/app/目录下。 META-INF目录下包含升级脚本,update-script脚本的内容如下: show_progress 0.500000 0 copy_dir PACKAGE:system SYSTEM: show_progress 0.100000 0 大家可以根据自己的升级内容添加相应的命令。 2.创建压缩包 在update/目录下运行: $ zip -qry ../ ./ 将在update/的父目录下产生 压缩包 3.签名 $ java -Xmx512m -jar signapk.jar -w key.x509.pem key.pk8 生成签过名的update.zip包,其中 signapk.jar,key.x509.pem,key.pk8与具体手机系统相关 4.将签过名的update.zip包放入手机sdcard根目录, 重启系统进入recovery模式,选择 apply,成功后重启手机 ok,现在手机上已经有doodle_jump游戏了,并且它无法被删除~ refer: How to Create Android Update Zip Package There are several ways to install applications or  library files to an Android Phone. You can use Marketapplication to find and install or adb command line tool to install or push the files to Android file system. These are all easy to implement for  single  file but if you have several applications or library files to install at once, it might be better to use update zip file. The update zip file is Android advanced system to install applications or lib files to Android file system using recovery tool. This method is commonly used by rom or theme developers to distribute their package. Creating an update zip file is quite easy, all you have to do is put the files in corresponding directory in Android file system and an update-script file to copy the files. For example, to install Calculator.apk intosystem/app and copy file into system/lib : Create an empty folder (eg. C:\myupdate)Create C:\myupdate\system\app folder for Calculator.apk and  C:\myupdate\system\lib folder forlibsec-ril.soCreate C:\myupdate\META-INF\com\google\android folder for update-script file.Create the update-script file with the following syntax: show_progress 0.1 0 copy_dir PACKAGE:system SYSTEM: show_progress 0.1 10 Line 1&5 : show progress bar Line 3: copy system folder from update package to Android’s /system Note: you should add one extra  line at the end of the file (Line 6) Compress the entire contents of C:\myupdate folder to zip (not the myupdate folder itself)Sign the file java -jar signapk.jar certificate.pem key.pk8 Note: you can find tutorial on how to sign the file here Copy the file to sdcard and apply it from recovery console update-script syntax reference (definitions from recovery.c android source code): copy_dir Syntax: copy_dir <src-dir> <dst-dir> [<timestamp>] Copy the contents of <src-dir> to  <dst-dir>. The original contents of <dst-dir> are preserved unless something in <src-dir> overwrote them. Ex: copy_dir PACKAGE:system SYSTEM: format Syntax: format <root> Format a partiti0n Ex: format SYSTEM:, will format entire /system . Note: formatting erases data irreversibly. delete Syntax: delete <file1> [... <fileN>] Delete  file. EX: delete SYSTEM:app/Calculator.apk, will delete Calculator.apk from system/app directory. delete_recursive Syntax: delete_recursive <file-or-dir1> [... <file-or-dirN>] Delete a file or directory with all of it’s contents recursively Ex: delete_recursive DATA:dalvik-cache, will delete /data/dalvik-cache directory with all of it’s contents run_program Syntax: run_program <program-file> [<args> ...] Run an external program included in the update package. Ex: run_program, will run script (shell command) included in the update package. set_perm Syntax: set_perm <uid> <gid> <mode> <path> [... <pathN>] Set ownership and permission of single file or entire directory trees, like ‘chmod’, ‘chown’, and ‘chgrp’ all in one Ex: set_perm 0 2000 0550 SYSTEM:etc/ set_perm_recursive Syntax: set_perm_recursive <uid> <gid> <dir-mode> <file-moe> <path> [... <pathN>] Set ownership and permission of a directory with all of it’s contents recursively Ex: set_perm_recursive 0 0 0755 0644 SYSTEM:app show_progress Syntax: show_progress <fraction> <duration> Use of the on-screen progress meter for the next operation, automatically advancing the meter over <duration> seconds (or more rapidly if the actual rate of progress can be determined). Ex: show_progress 0.1 0 symlink Syntax: symlink <link-target> <link-path> Create a symlink (like ‘ln-s’). The <link-path> is in root:path format, but <link-target> is for the target filesystem (and may be relative) ---------- 用Android自带的signapk.jar + .x509.pem + .pk8签名应用程序 文件位置:可以在platform/build/target/product/security/中找到platform.pk8 platform.x509.pem等签名文件,对应不同的权限。 signapk.jar:由/platform/build/tools/signapk/编译产出,可以在/out/host/linux-x86/framework/中找到。 签名: java -jar signapk.jar platform.x509.pem platform.pk8 MyDemo.apk MyDemo_signed.apk 得到具有对应权限的APK 优化APK: zipalign -v 4 MyDemo_signed.apk MyDemo_new.apk 查循APK是否优化过: zipalign -c -v 4 MyDemo.apk