| 
					
				 | 
			
			
				@@ -0,0 +1,448 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#!/bin/sh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 编码要求: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 所有全大写变量均为全局变量; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 函数内部变量请使用非全大写; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 主目录; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+WORK_HOME="/home/data/ApkAutoCompile" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 参数1:apk源码路径; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+APK_SRC_DIR=$1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# apk名称,源于源码路径,需要对带 _General 的删除后缀。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+APK_NAME='' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# debug apk的svn版本号; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+APK_DEBUG_SVN_REVISION=$3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Debug Apk 根地址; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+APK_DEBUG_ROOT_URL='https://odm-design-center-hz.tclking.com/svn/scbc_apps/trunk/app/apk/01debug/general' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Release Apk 根地址; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+APK_RELEASE_ROOT_URL='https://odm-design-center-hz.tclking.com/svn/scbc_apps/trunk/app/apk/02release/general' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Apk源码根地址; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+APK_SRC_ROOT_URL='https://odm-design-center-hz.tclking.com/svn/scbc_apps/trunk/app/src' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# APK 根路径; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+APK_ROOT_DIR="${WORK_HOME}/cacheAPK/general" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Debug Apk 根路径; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+APK_DEBUG_ROOT_DIR="${APK_ROOT_DIR}/Debug" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Release Apk 根路径; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+APK_RELEASE_ROOT_DIR="${APK_ROOT_DIR}/Release" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Debug Apk Log 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+APK_DEBUG_LOG=$4 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Gradle目录; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+GRADLE_HOME=/home/data/android/gradle/gradle-6.7.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Android SDK 目录; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ANDROID_SDK_HOME=/home/data/android/android_sdk/android-sdk-linux 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 是否重新编译; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+REBUILD=$2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 当前要处理的APK的SVN路径; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+APK_SRC_URL='' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Build的apk路径; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+APK_BUILD_DIR='' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# debug Apk 路径; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+APK_DEBUG_DIR='' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# debug Apk 路径; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+APK_RELEASE_DIR='' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# APK的版本号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+APK_VER_CODE='' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 中间件源码路径; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+APK_DIR_TVMidware="/home/data/ApkAutoCompile/cacheAPK/TVMidware" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 日志文件; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if [ ! -d '/home/data/ApkAutoCompile/shell/log' ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    mkdir '/home/data/ApkAutoCompile/shell/log' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+LOG_FILE="/home/data/ApkAutoCompile/shell/log/gradlew-${APK_NAME}-$(date '+%d-%H%M%S').log" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+SwitchIntranet() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\r\r---切换到内网---" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    route del default gw 10.201.40.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sleep 3s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    route add default gw 10.201.40.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sleep 3s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    route add default gw 10.201.40.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+SwitchExternal() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\r\r---切换到外网---" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    route del default gw 10.201.40.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sleep 3s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    route del default gw 10.201.40.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+commitAPK(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo "---------commitAPK------------" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 切回内网; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sleep 10s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo "apk name = "${APK_NAME} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ x${APK_NAME} == "xMiddleCommon" ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if [ -d ${APK_DIR_TVMidware} ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cd ${APK_DIR_TVMidware} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rm * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        svn_result=$(svn up) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if [[ $svn_result != *"At revision"* ]] || [[ $svn_result != *"is already under version control"* ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            echo -e "\tsvn up:连接SVN服务器失败, 网络异常!\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cp ${APK_BUILD_DIR} ${APK_DIR_TVMidware} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo "APK_DIR_TVMidware PWD:$(pwd)"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        svn add . 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        svn add * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        svn_result=$(svn commit -m "upgrade ${APK_NAME}.${APK_VER_CODE}. ${svn_lastChangedRev}" 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if [[ $svn_result != *"At revision"* ]] || [[ $svn_result != *"is already under version control"* ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            echo -e "\t连接SVN服务器失败, 网络异常!\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo "After apk copy,P_APK_DIR:" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ls -l ${APK_DIR_TVMidware} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # copy apk 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if [ -d ${APK_DEBUG_DIR} ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cd ${APK_DEBUG_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            echo -e "\tBefore apk copy,APK_DEBUG_DIR=${APK_DEBUG_DIR}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ls -l ${APK_DEBUG_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rm * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            svn_result=$(svn up 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            echo -e "\r\nsvn up结果="${svn_result} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if [[ $svn_result != *"Updated to revision"* ]] && [[ $svn_result != *"At revision"* ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                echo -e "\r\n连接SVN服务器失败, 网络异常!\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            mkdir -p ${APK_DEBUG_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cd ${APK_DEBUG_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        svn_lastChangedDate=$(svn info ${APK_SRC_DIR}|grep Date 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        svn_lastChangedRev=$(svn info ${APK_SRC_DIR}|grep "Last Changed Rev" 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cp ${APK_BUILD_DIR} ${APK_DEBUG_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\tAPK_DEBUG_DIR PWD:$(pwd)"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        svn add . 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        svn add * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        svn_result=$(svn commit -m "upgrade ${APK_NAME}.${APK_VER_CODE}. ${svn_lastChangedRev}" 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\r\nsvn commit结果="${svn_result} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if [[ $svn_result != *"Committed revision"* ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            echo -e "\t连接SVN服务器失败, 网络异常!\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            exit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\tAfter apk copy,APK_DEBUG_DIR:" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ls -l ${APK_DEBUG_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #ensure under shell folder 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cd ${WORK_HOME}/shell 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\tWORK_HOME PWD:$(pwd)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    python3 -c "import builder;builder.updateProjectRev('$APK_SRC_DIR','$svn_lastChangedRev','$svn_lastChangedDate')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+compileGeneralApp(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo "enter compileGeneralApp" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 需要单独处理两APK:FastCastTV、FastScreenV3.0的版本号获取问题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ x${APK_NAME} == "xFastCastTV" ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\t单独处理此APK Local_FastScreenTV_CN" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        appVCodeT=$(cat "${APK_SRC_DIR}/Local_FastScreenTV/build.gradle"|grep versionCode |grep -v "getVersionNameByCode\|=\|flavorDimensions") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    elif [ x${APK_NAME} == "xFastScreenV3.0" ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\t单独处理此APK FastScreenV3.0" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        appVCodeT=$(cat "${APK_SRC_DIR}/AdvertisementActivity/build.gradle"|grep versionCode |grep -v "getVersionNameByCode\|=\|flavorDimensions") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        appVCodeT=$(cat "${APK_SRC_DIR}/app/build.gradle"|grep versionCode |grep -v "getVersionNameByCode\|=\|flavorDimensions") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 查找apk版本号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo "appVCodeT=${appVCodeT}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ ${#appVCodeT} -eq 0 ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\tappVCode error" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        vCode=$(echo $appVCodeT | tr -cd "[0-9]") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\tappVCode number:"$vCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mainVersionCode=$(expr $vCode / 100) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        childVersionCode=$(expr $vCode % 100) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        appDate=$(date +%Y%m%d) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        APK_VER_CODE="appVersionName:"$mainVersionCode"."$childVersionCode"."$appDate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\t$APK_VER_CODE" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # route to google 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    SwitchExternal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sleep 10s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #get release packet name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    releaseName=$(python3 -c 'import builder;print(builder.getReleaseName("'$APK_SRC_DIR'"))') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\treleaseName:"${releaseName} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #compile app for release apk 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cp sabuild/local.properties $APK_SRC_DIR 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cd "$APK_SRC_DIR" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\tAPK_SRC_DIR,PWD:$(pwd)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    chmod +x gradlew 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    gradle --version 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 判断文件是否存在; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ -f "build.sh" ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\tbuild.sh" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        chmod +x build.sh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ./build.sh        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\tNo build.sh" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ./gradlew ${releaseName} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #commit apk 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    APK_BUILD_DIR=$(find ${APK_SRC_DIR} -name "*.apk") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\tAPK_BUILD_DIR:${APK_BUILD_DIR}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ ${#APK_BUILD_DIR} -eq 0 ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\tcompile apk fail" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tmp1=${APK_NAME%*_General} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\t==========APK_NAME=" ${APK_NAME} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\t==========tmp1=" ${tmp1} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # P_APK_DIR="${APK_DIR_general}/${tmp1#*TIF_}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        APK_DEBUG_DIR="${APK_DEBUG_ROOT_DIR}/${tmp1}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\t==========APK_DEBUG_DIR=" ${APK_DEBUG_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mkdir ${APK_DEBUG_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        commitAPK 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+compileCustomApp(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\tenter compileCustomApp" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    apkSections=$(python3 -c 'import builder;print(builder.getAPKSection("'$APK_SRC_DIR'"))') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\tapkSections:"${apkSections} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 函数:是否需要更新本地svn目录; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 描述:判断本地svn目录版本与服务器版本是否一致; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 返回:0表示不需要更新本地svn目录, 1表示需要更新; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+IsUpdateSVN() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\n\n==========执行函数:IsUpdate==========" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 如果目录不存在,直接返回需要更新; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ ! -d ${APK_SRC_DIR} ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\t目录[${APK_SRC_DIR}]不存在,需要更新\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 获取本地目录的最新提交版本; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    svn_local_lcr=$(svn info ${APK_SRC_DIR}|grep "Last Changed Rev" 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\r\r获取本地目录的最新提交版本="${svn_local_lcr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    svn_local_lcr=${svn_local_lcr#*Last Changed Rev: } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\r\nLocal SVN Last Changed Revision=${svn_local_lcr}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 查找服务器的地址; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cd ${APK_SRC_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    APK_SRC_URL=$(svn info|grep "URL:" |grep -v "Relative URL:" 2>&1)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\t${APK_SRC_URL}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    APK_SRC_URL=${APK_SRC_URL#*URL:} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cd - 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 获取服务器的最新提交版本;     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    svn_server_lcr=$(svn info ${APK_SRC_URL}|grep "Last Changed Rev" 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [[ $svn_server_lcr == *"svn: E170013: Unable to connect to a repository at URL"* ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\t连接SVN服务器失败, 网络异常=${svn_server_lcr}!\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        exit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    svn_server_lcr=${svn_server_lcr#*Last Changed Rev: } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\tServer SVN Last Changed Revision=${svn_server_lcr}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 比较版本号或日期; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ ${svn_server_lcr} -gt ${svn_local_lcr} ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\t服务器版本大于本地目录版本号,需要更新" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ x${REBUILD} == "x1" ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\t手动编译标记位" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\t本地版本与服务器版本相同 ,不需要更新\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+IsUpdateGIT() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\n\n==========执行函数:IsUpdate==========" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 如果目录不存在,直接返回需要更新; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ ! -d ${APK_SRC_DIR} ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\t目录[${APK_SRC_DIR}]不存在,需要更新\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 获取本地目录的最新提交版本; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    svn_local_lcr=$(svn info ${APK_SRC_DIR}|grep "Last Changed Rev" 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\r\r获取本地目录的最新提交版本="${svn_local_lcr} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    svn_local_lcr=${svn_local_lcr#*Last Changed Rev: } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\r\nLocal SVN Last Changed Revision=${svn_local_lcr}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 查找服务器的地址; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cd ${APK_SRC_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    APK_SRC_URL=$(svn info|grep "URL:" |grep -v "Relative URL:" 2>&1)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\t${APK_SRC_URL}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    APK_SRC_URL=${APK_SRC_URL#*URL:} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cd - 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 获取服务器的最新提交版本;     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    svn_server_lcr=$(svn info ${APK_SRC_URL}|grep "Last Changed Rev" 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [[ $svn_server_lcr == *"svn: E170013: Unable to connect to a repository at URL"* ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\t连接SVN服务器失败, 网络异常=${svn_server_lcr}!\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        exit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    svn_server_lcr=${svn_server_lcr#*Last Changed Rev: } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\tServer SVN Last Changed Revision=${svn_server_lcr}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 比较版本号或日期; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ ${svn_server_lcr} -gt ${svn_local_lcr} ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\t服务器版本大于本地目录版本号,需要更新" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ x${REBUILD} == "x1" ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\t手动编译标记位" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\t本地版本与服务器版本相同 ,不需要更新\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+UpdateCode() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\n\n==========执行函数:UpdateCode==========" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 本地APK SVN目录是否存在,存在则删除; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ -d ${APK_SRC_DIR} ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\t目录不为空,删除未提交的文件;\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        #rm -rf ${APK_SRC_DIR} # 删除操作太危险; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        svn cleanup ${APK_SRC_DIR}    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        filelist=$(svn status ${APK_SRC_DIR} 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "未提交的文件="${filelist} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # 以"A "分组字符串,并修改logo后缀; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        filearray=(${filelist//? /}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for File in ${filearray[@]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            echo -e "\t 即将删除File="$File 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # 文件是否存在; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if [ -f ${File} ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                rm -f ${File} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        done 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ x"${APK_SRC_URL}" = x ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\tAPK URL空\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        exit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #echo -e "\t开始Check代码;\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #svn co --force ${APK_SRC_URL} ${APK_SRC_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\t开始更新代码\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    svn_result=$(svn up ${APK_SRC_DIR} 2>&1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "\r\nsvn up结果="${svn_result} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [[ $svn_result != *"At revision"* ]]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\t连接SVN服务器失败, 网络异常!\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        exit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cd ${APK_SRC_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 判断文件是否存在; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ -f "update_modules.sh" ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e "\n\tupdate_modules.sh 文件存在,更新复用库\n\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        chmod 777 update_modules.sh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ./update_modules.sh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+compile() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo "shell_log===>Compile start---------" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 判断工作副本是否需要更新; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    IsUpdateSVN 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ $? == 1 ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo "需要更新本地SVN" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        UpdateCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cd ${WORK_HOME}/shell 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # 读取ini配置文件中的信息; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        releaseType=$(python3 -c 'import builder;print(builder.getReleaseName("'$APK_SRC_DIR'"))') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if [ $releaseType == 'custom' ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            compileCustomApp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            compileGeneralApp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo "shell_log===>Compile end------------" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo "无需更新本地SVN" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo "shell_log===>No upgrade end------------" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 切换回内网; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    SwitchIntranet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+main() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ $# -eq 1 ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        REBUILD=0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        APK_SRC_DIR=$1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    elif [ $# -eq 2 ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        APK_SRC_DIR=$1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        REBUILD=$2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "########################################################开始编译########################################################\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 导出变量到子shell; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    export WORK_HOME        #/home/data/ApkAutoCompile 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    export GRADLE_HOME      #/home/data/android/gradle/gradle-6.7.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    export ANDROID_SDK_HOME #/home/data/android/android_sdk/android-sdk-linux 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 创建 编译完成的Apk文件 根目录; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ ! -d ${APK_ROOT_DIR} ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mkdir -p ${APK_ROOT_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # Apk Debug目录不用创建,但Release根目录需要; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ ! -d ${APK_RELEASE_ROOT_DIR} ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mkdir -p ${APK_RELEASE_ROOT_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 检出所有debug apk; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ ! -d ${APK_DEBUG_ROOT_DIR} ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        svn co ${APK_DEBUG_ROOT_URL} ${APK_DEBUG_ROOT_DIR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 检出中间件源码; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ ! -d ${APK_DIR_TVMidware} ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo -e 'svn co TVMidware Apk' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        svn co https://odm-design-center-hz.tclking.com/svn/scbc_apps/trunk/TVMidware/debug/TVMidwareService ${APK_DIR_TVMidware} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 取右边第一个字符,判断是否为斜杠; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if [ "${APK_SRC_DIR:0-1:1}" = "/" ];then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # 若为斜杠,%号截取,删除右边第一个'/'及右边字符,保存左边字符; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        echo "最后为斜杠,删除斜杠" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        APK_SRC_DIR=${APK_SRC_DIR%/*} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 获取APK名称; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    APK_NAME=${APK_SRC_DIR##*/} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "APK_SRC_DIR=${APK_SRC_DIR}\r\nAPK_NAME=${APK_NAME}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 重新定义log文件; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    LOG_FILE="/home/data/ApkAutoCompile/shell/log/gradlew-${APK_NAME}.log" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    compile 2>&1 | tee ${LOG_FILE} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    echo -e "########################################################编译结束########################################################\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+main $@ 
			 |