Android应用多渠道打包脚本

来源:互联网 发布:苹果mac看视频软件推荐 编辑:程序博客网 时间:2024/04/28 09:00

使用ant打包Android程序时,请确保在项目根目录下包含build.xml,且文件中有声明项目名,最后在release目录下面会有我们想要的各种渠道包

#!/bin/shANDROID_PROJECT_HOME="."# get project name APPNAME=$(cat $ANDROID_PROJECT_HOME/build.xml | grep "\<project")APPNAME=${APPNAME#*name=\"}APPNAME=${APPNAME%%\"*}echo "Project Name: $APPNAME"MARKETS="qihoo360 yingyongbao baidu xiaomi wandoujia google"echo "clear project"rm -rf $ANDROID_PROJECT_HOME/bin/rm -rf $ANDROID_PROJECT_HOME/gen/rm -rf release/echo "clear project finished"mkdir release/ant release -buildfile $ANDROID_PROJECT_HOME/build.xml &&cp $ANDROID_PROJECT_HOME/bin/$APPNAME-release.apk release/$APPNAME.apkecho "get the original market name"market_bak=$(cat $ANDROID_PROJECT_HOME/AndroidManifest.xml | grep UMENG_CHANNEL)market_bak=${market_bak#*value=\"}market_bak=${market_bak%%\"*}for market in $MARKETSdo    echo "packaging ${APPNAME}_${market}.apk ..."    sed -i "s#\(android:value=\)\"\(.*\)\"\( android:name=\"UMENG_CHANNEL\"\)#\1\"$market\"\3#" $ANDROID_PROJECT_HOME/AndroidManifest.xml    ant release -buildfile $ANDROID_PROJECT_HOME/build.xml &&    cp $ANDROID_PROJECT_HOME/bin/$APPNAME-release.apk release/${APPNAME}_$market.apkdoneecho recover the original market namesed -i "s#\(android:value=\)\"\(.*\)\"\( android:name=\"UMENG_CHANNEL\"\)#\1\"$market_bak\"\3#" $ANDROID_PROJECT_HOME/AndroidManifest.xml# install apkadb install -r ./release/$APPNAME.apk
0 0