Android应用多渠道打包脚本
16lz
2021-01-26
使用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
更多相关文章
- Android之GridView与ListView
- 源码项目Android(安卓)使用Zxing2.1 来读取二维码
- eclipse 导入Android项目时报告 Invalid Project Description
- 关于ant 打包android引入第三方类库library project的终极解决方
- 8个android 游戏引擎
- Android(安卓)CTS 测试研究之二
- 大家帮忙看看简历
- Android(安卓)Studio添加so文件并打包到APK的lib文件夹中
- 创建android phonegap项目