ROM签名脚本[原创]
下面的代码是bash脚本来的。需要保存为*.sh后序。
# !/bin/bash
#usage: signapk.sh [-hs] [zipfile-unsigned | update.zip]
#Author: Gaojiquan LaoYang
#Date: -- : if [ "$1" = "-h" ];
then
# print the help info
echo "usages: signed the apk | zip file "
echo "signapk.sh [-hs] [zipfile-[unsigned.zip] | update.zip]"
echo "signapk.sh -h -> show help info "
echo "signapk.sh -s update -> update is the prefix of zipfile "
echo "signapk.sh -s update-unsigned.zip"
echo "signapk.sh [ -t key ] -s zifile[-unsigned.zip]" elif [ "$1" = "-s" ];
then
FILE_NAME=$(basename "$2")
echo " Signed Zip..."
#echo "FILE_NAME = $FILE_NAME"
#SIGN_FINE = if [ -f $FILE_NAME ];
then
SIGN_FILE="update-signed.zip"
TMP=$FILE_NAME
java -jar signapk.jar testkey.x509.pem testkey.pk8 $FILE_NAME update-signed.zip
elif [ -f $FILE_NAME.zip ];
then
SIGN_FILE=$FILE_NAME-signed.zip
TMP=$FILE_NAME.zip
java -jar signapk.jar testkey.x509.pem testkey.pk8 $FILE_NAME.zip $FILE_NAME-signed.zip
elif [ -f $FILE_NAME-unsigned.zip ];
then
SIGN_FILE=$FILE_NAME-signed.zip
TMP=$FILE_NAME-unsigned.zip
java -jar signapk.jar testkey.x509.pem testkey.pk8 $FILE_NAME-unsigned.zip $FILE_NAME-signed.zip
fi if [ $? = ];
then
echo "input file: $TMP"
echo "Output file: $SIGN_FILE"
echo "Signapk Success !"
exit ;
else
echo "Signapk Error! with $TMP"
exit ;
fi
#end signed zip #choose the signed key
#testkey
#releases
#you-keys
elif [ "$1" = "-t" ] && [ "$3" = "-s" ]; #check the args[] && args[]
then
if [ -f $.x509.pem ] && [ -f $.pk8 ]; #check the signed key exists;
then
FILE_NAME=$(basename "$4")
echo " Signed Zip..." if [ -f $FILE_NAME ];
then
SIGN_FILE="update-signed.zip"
TMP=$FILE_NAME
java -jar signapk.jar $.x509.pem $.pk8 $FILE_NAME update-signed.zip
elif [ -f $FILE_NAME.zip ];
then
SIGN_FILE=$FILE_NAME-signed.zip
TMP=$FILE_NAME.zip
java -jar signapk.jar $.x509.pem $.pk8 $FILE_NAME.zip $FILE_NAME-signed.zip
elif [ -f $FILE_NAME-unsigned.zip ];
then
SIGN_FILE=$FILE_NAME-signed.zip
TMP=$FILE_NAME-unsigned.zip
java -jar signapk.jar $.x509.pem $.pk8 $FILE_NAME-unsigned.zip $FILE_NAME-signed.zip
fi fi if [ $? = ];
then
echo "input file: $TMP"
echo "Output file: $SIGN_FILE"
echo "Signapk Success !"
exit ;
else
echo "Signapk Error! with $TMP"
exit ;
fi
#end the Advance signed #bad call option
else exit ;
fi #if [ -f $1 ] # check file exists
#then
# rm $
#fi #if [ -f $1-unsigned.zip ]
#then
# rm $-unsigned.zip
#lif [ -f $.zip ]
#then
# rm $.zip
#elif [ -f $1 ]
#then
# rm $
#fi
ROM签名脚本[原创]的更多相关文章
- Android Studio线下版和线上版都使用正式签名脚本(保证keysore签名文件和项目在同级目录),不用再因为繁琐的发正式版而烦恼
场景:调用微信等第三方应用时如果生成的版本不是正式签名的可能会调用失败,使用如下脚本不用再为繁琐的发正式签名版而烦恼 app项目中的build.gradle追加如下代码: //使用正式签名脚本(保证k ...
- 树莓派进阶之路 (005) - 树莓派Zsh安装脚本(原创)
zsh.sh #!/bin/bash cd #安装zsh sudo apt-get install zsh #查看zsh cat /etc/shells #更改zsh chsh -s /bin/zsh ...
- 树莓派进阶之路 (007) - 树莓派安装cmake3.5 脚本(原创)
cmake3.5安装脚本: #!/bin/bash cd echo "安装make" sudo apt-get install make echo "安装cmake&qu ...
- fedora装机后要运行的脚本(原创)
脚本:sh.sh #!/bin/zsh #安装rpmfusion源 dnf config-manager --add-repo=http://repo.fdzh.org/FZUG/FZUG.repo ...
- iOS重签名脚本
unzip xxx.ipa //解压ipa rm -rf Payload/ xxx.app/_CodeSignature //删除旧签名 cp newEmbedded.mobileprovision ...
- 树莓派进阶之路 (009) - 树莓派ftp脚本(原创)
FTP.sh #!/bin/sh cd echo "彻底卸载原有的ftp" sudo apt-get remove --purge vsftpd #(--purge 选项表示彻底删 ...
- Android反编译(三)之重签名
Android反编译(三) 之重签名 [目录] 1.原理 2.工具与准备工作 3.操作步骤 4.装X技巧 5.问题 1.原理 1).APK签名的要点 a.所有的应用程序都必须有数字证书 ,Androi ...
- Android手机ROM刷机简介
这一段时间刷了一堆ROM,安卓系列.CM.Hero.OldMos.隔壁新出的Android2.0,反正都尝了一下鲜,手机的照相机也刷得再也启不来了(不知道什么原因,杯具).有话说:"久病成良 ...
- android 系统签名【转】
本文转载自:http://blog.csdn.net/csh86277516/article/details/73549824 Android——编译release版签名系统 AndroidManif ...
随机推荐
- iOS学习笔记(十五)——数据库操作(SQLite)
SQLite (http://www.sqlite.org/docs.html) 是一个轻量级的关系数据库.SQLite最初的设计目标是用于嵌入式系统,它占用资源非常少,在嵌入式设备中,只需要几百K的 ...
- VCL改变主窗体的方法
使用如下语句即可Pointer((@Application.MainForm)^) := Form1; 仔细想想和Pointer((Application.MainForm)) := Form1;有什 ...
- Juniper srx防火墙NAT配置
一.基础操作说明: 1. 设备恢复出厂化 root# load factory-default root# set system root-authentication plain-text-pas ...
- [置顶] android系统功能调用大全
1.从google搜索内容 Intent intent = new Intent(); intent.setAction(Intent.ACTION_WEB_SEARCH); intent.pu ...
- ubuntu配置jdk脚本以及导致开不了机的解决方案
关于在那个文件里配置jdk脚本,有些大牛总结了四个地方,大体就是ubuntu系统启动后会默认加载的四个地方.例如:/etcenvironment,/etc/profile这两个文件处于系统层面的,还有 ...
- Java 使用AES/CBC/PKCS7Padding 加解密字符串
介于java 不支持PKCS7Padding,只支持PKCS5Padding 但是PKCS7Padding 和 PKCS5Padding 没有什么区别要实现在java端用PKCS7Padding填充, ...
- hdu3033(变形分组背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3033 题意:Iserlohn要买鞋,有k种牌子,每种牌子至少买一双鞋子.每双鞋子有标价跟实际价值.求用 ...
- 创建和关联内容数据库到指定Web应用程序和站点集
创建和关联内容数据库到指定Web应用程序和站点集 一个Web应用程序不限于使用单个内容数据库.SharePoint同意你关联多个内容数据库到Web应用程序.原因之中的一个是基于内容数据 ...
- 李林APUE之进程的封装
1.子进程是父进程的副本,获得父进程的数据空间/堆/栈,父子进程共享代码段.子进程从fork后開始运行.返回值=0表示子进程,由于子进程能够通过函数来获取父进程的ID,可是父进程无法知道子进程的ID. ...
- VS调试技巧之附加进程
用过VS一段时间的程序猿们相信都有过这种调试经历:每次按下F5进行断点调试时,都要等待好长时间:先让解决方式编译通过,然后启动VS自带的简版IIS作为server启动,进而开启浏览器,最后进行对应的操 ...