ROM签名脚本[原创]

下面的代码是bash脚本来的。需要保存为*.sh后序。

 

# !/bin/bash
#usage: signapk.sh [-hs] [zipfile-unsigned | update.zip]
#Author: Gaojiquan LaoYang
#Date: 2013-09-23 00:08 


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 [ $? = 0 ];
    then
        echo "input file: $TMP"
        echo "Output file: $SIGN_FILE"
        echo "Signapk Success !"
        exit 0;
    else
        echo "Signapk Error! with $TMP"
        exit 1;
    fi
    #end signed zip

#choose the signed key 
#testkey
#releases
#you-keys
elif [ "$1" = "-t" ] && [ "$3" = "-s" ];   #check the args[1] && args[3]
then
    if [ -f $2.x509.pem ]  && [ -f $2.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 $2.x509.pem $2.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 $2.x509.pem $2.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 $2.x509.pem $2.pk8 $FILE_NAME-unsigned.zip $FILE_NAME-signed.zip
            fi

    fi

    if [ $? = 0 ];
    then
        echo "input file: $TMP"
        echo "Output file: $SIGN_FILE"
        echo "Signapk Success !"
        exit 0;
    else
        echo "Signapk Error! with $TMP"
        exit 1;
    fi
#end the  Advance signed 



#bad call option
else exit 2;
fi

#if [ -f $1 ] # check file exists
#then
#    rm $1
#fi


#if [ -f $1-unsigned.zip ]
#then
#    rm $1-unsigned.zip
#lif [ -f $1.zip ]
#then
#    rm $1.zip
#elif [ -f $1 ]
#then
#    rm $1
#fi

 

posted @ 2013-09-23 14:17  sndnvaps  阅读(1006)  评论(0编辑  收藏  举报