我們的超管包是需要發給運營人員去使用的,防止洩露導致的安全風險,我們希望對超管包先進行加固然後再上傳到蒲公英。再次引用我的名言:
時間是最寶貴的財富,我們的時間得用在刀刃上。本文基於 使用 gradle 實現一套**開發多個應用 中的 gradle 配置進行迭代開發,帶領大家實現
360加固
的自動化 gradle 指令碼。
我們的目標是全自動化,並且在每個團隊成員的電腦上都能夠實現一行命令執行,不需要做額外的配置。
完整的config.gradle
配置:
ext
複製**
新建乙個jiagu.gradle
檔案:
import org.apache.tools.ant.taskdefs.condition.os
def downloadurl = os.isfamily(os.family_windows) ? rootproject.ext.jiagu["jiagubao_windows"] : rootproject.ext.jiagu["jiagubao_mac"]
def zippath = rootproject.ext.jiagu["zippath"]
def unzippath = rootproject.ext.jiagu["unzippath"]
task download360jiagu()
exec }}
dolast
}}複製**
import org.apache.tools.ant.taskdefs.condition.os
def downloadurl = os.isfamily(os.family_windows) ? rootproject.ext.jiagu["jiagubao_windows"] : rootproject.ext.jiagu["jiagubao_mac"]
def zippath = rootproject.ext.jiagu["zippath"]
def unzippath = rootproject.ext.jiagu["unzippath"]
//加固後所有apk的儲存路徑
/** * 加固
* @param config 配置加固可選項
* @param apkpath 要加固的檔案路徑
* @param outputpath 輸出路徑
* @param automulpkg 是否自動生成多渠道包
*/def jiagu(string config, string apkpath, string outputpath, boolean automulpkg)
//公升級到最新版本
exec
//顯示當前版本號
exec
//匯入簽名資訊
exec
//配置加固可選項
exec
//加固命令
def jiaguargs
if (automulpkg) else
exec
println "加固的檔案路徑:$"
println "加固後的檔案路徑:$"
}/**
* 根據多渠道檔案進行加固
*/ dofirst
}group = "publish"
dolast
jiagu("-", apkfile.absolutepath, apkoutputfile.absolutepath, true)
}}private
static
void checkoutputdir(file apkoutputfile)
}} else
}static
def getcurtime()
複製**
在根目錄的jiagu
資料夾中建立channel.txt
檔案,在其中可以配置你需要的多渠道資訊。
如果需要配置更多的加固選項,可以在jiagu/360jiagubao/jiagu/help.txt
中檢視所有的加固命令。
在jiagu.gradle
中新增單獨加固超管包的方法:
/** * 加固超管服包
*/ dofirst
}group = "publish"
dolast
jiagu("-", apkfile.absolutepath, apkoutputfile.absolutepath, false)
}}複製**
修改蒲公英上傳方法:
/** */
group = "publish"
dolast
file files = dir.listfiles(new filefilter()
})if (files == null || files.size() == 0)
file apkfile = files[0]
uploadpgy(apkfile.path)
}}複製**
自動打包檔案並上傳到ftp
bin bash ftpserver ftp.aaa rmtdir bbb user user pass password filename project date y m d tar.bz2 subdir date y m d release echo generating tarball.if...
同步binlog並上傳到hdfs
bin bash echo 執行節點 hostname 正 時 ip 1 portc 4044 if eq 4 then portc 2 yearid dateid starttime 00 00 00 endtime 23 59 59 else echo 輸入引數有誤 exit 1 fisufix...
Flume監聽檔案並上傳到hdfs
監聽hive日誌,並上傳到hdfs中 flume yymmddhh 目錄下,檔案字首為logs 每乙個小時新建重新建立乙個資料夾,每接收10m資料落地一次,當資料不足10m時15分鐘落地一次 匯入以下jar包到flume路徑下的lib裡,裡為相應版本,在hadoop路徑下share hadoop下都...