mac 下自动化签名android。apk

欢迎观看,转载请标明来源:http://blog.****.net/u011400848/article/details/78436522

在windows下我就不说了,360有一个签名工具,可以直接签名。


在mac下,没有签名工具,只能自己写sh脚本了。虽然之前从来没接触过sh。

但是在疯狂百度下还是把脚本勉强写完了。

这里就简单说一下用法吧。待会我会附上下载链接,直接可以下载就可以使用了。

下载之后解压完毕后你看到的是这样的。

apk_singer_sign.sh为单个apk打包脚本

start_folder_sign.sh为文件夹打包脚本,关联了apk_singer_sign.sh需要apk_singer_sign.sh在同一个文件夹下才能使用。

mac 下自动化签名android。apk

使用方法如下:

1,打开终端。

2,拖入脚本。第一次使用可能会提示权限不足。使用chmod a+x 文件路径。授权。再使用。

mac 下自动化签名android。apk

脚本拖入后:拖入文件夹或者需要打包的apk文件。

mac 下自动化签名android。apk

图中是文件夹。你也可以拖入apk文件。文件夹里面全是apk文件。如果有非apk文件建议删除避免出错。

然后点 enter键。就可以了。

apk_singer_sign源码如下,都写了注释应该很好理解。密码和别名改为自己签名文件的。


#!/bin/bash

# setting default key path here

# local OPTIND

# jarsigner -verbose -verify -keystore ${keyPath} -certs ${packagePath}

# 这里放你的key路径。格式如下:需要修改一般为key.store 

DEFAULT_KEY_PATH=/Volumes/mac_ex/sign/key.store

# 此处放你的STORE密码需要修改

DEFAULT_STORE_PASS=password

# 别名需要修改

DEFAULT_ALIASES=aliases

# Key密码需要修改

DEFAULT_KEY_PASS=password

# 加密方式一般不用改

DEFAULT_DIGESTALG=SHA1

# 签名方式一般不用改

DEFAULT_SIGALG=SHA1withRSA

#MD5withRSA

sigalg=${DEFAULT_SIGALG}

digestalg=${DEFAULT_DIGESTALG}

keyPath=${DEFAULT_KEY_PATH}

storepass=${DEFAULT_STORE_PASS}

keypass=${DEFAULT_KEY_PASS}

aliases=${DEFAULT_ALIASES}

packagePath="$1"

num=$(($(echo ${#packagePath}) - 4 ))

packagePath2=${packagePath:0:$num}"_align_sign.apk"

IS_VERIFY=false

if [ ! -n "$1" ];then

    echo "unkonw path, please use apk path"

    exit1

else

    while getopts"p:k:h:" arg#after param has ":" need option

    do

        case $argin

            p)

                echo "Package path: $OPTARG"

                packagePath=$OPTARG

                ;;

            k)

                echo "Key Path: $OPTARG"

                keyPath=$OPTARG

                ;;

            h)

                echo "use -p [packagePath] -k [keyPath] -h Show help"

                exit1

                ;;

            ?)  # other param?

                echo "unkonw argument, please use -p [packagePath] -k [keyPath]"

                exit1

                ;;

        esac

    done

fi

echo "sigalg: ${sigalg}"

echo "digestalg: ${digestalg}"

echo "keyPath: ${keyPath}"

echo "storepass: ${storepass}"

echo "aliases: ${aliases}"

echo "keypass: ${keypass}"

echo "packagePath: ${packagePath}"

echo "packagePath2:"${packagePath2}

#下面开始签名认证,如果不认证将无法上架。

jarsigner -verbose -digestalg ${digestalg} -sigalg ${sigalg} -keystore ${keyPath} -storepass ${storepass} -keypass ${keypass} ${packagePath} ${aliases}


zipalign -f -v 4 ${packagePath} ${packagePath2}



#jarsigner -verbose -verify -keystore ${keyPath} -certs ${packagePath}


下载地址:http://download.****.net/download/u011400848/10102898