php和什么語言做網(wǎng)站豬肉價(jià)格最新消息
這個(gè)樣例是基于windows系統(tǒng)寫的python打包安卓的腳本:
一、配置AndroidStudio下的打包任務(wù)
1.在Android項(xiàng)目根目錄下的build.gradle文件配置生成Release包的任務(wù):
task cleanAll(type: Delete) {delete rootProject.buildDirrootProject.subprojects.each { subproject ->delete subproject.buildDir} }task qudao1Release dependsOn(cleanAll,':app:assemble千年血戰(zhàn)篇_officialOfficialRelease', )
1.1?cleanAll : 任務(wù)是打包前清空項(xiàng)目緩存的,直接copy就行
1.2?qudao1Release : 任務(wù)就是我們打包任務(wù)的名稱,
1.3?:app:assemble千年血戰(zhàn)篇_officialOfficialRelease 任務(wù)是我們gradlew執(zhí)行的生成apk的指令,
這個(gè)指令可以在AndroidStudio里右側(cè)窗口gradle樹里找到,如下圖:
1.4 如下圖 :
assemble千年血戰(zhàn)篇_officialOfficialRelease 就是我們要執(zhí)行的release打包任務(wù)
1.5 把這個(gè)任務(wù)copy出來配置在上面1.3講的位置就好
1.6 在androidStudio下的終端 執(zhí)行我們的任務(wù):qudao1Release, 執(zhí)行命令時(shí)需要加前綴:.\gradlew。任務(wù)回車即可執(zhí)行打包
二:利用python啟動(dòng)打包任務(wù),我這里用的Python2.7.2版本
1.首先寫一個(gè)可執(zhí)行的doc文件,新建一個(gè)txt文本,內(nèi)如如下:
@echo off @REM 安卓項(xiàng)目路徑 cd /d "D:\app\as_project\new_version\GameDemo" .\gradlew qudao1Release pause
1.2??D:\app\as_project\new_version\GameDemo: 為我們安卓項(xiàng)目的路徑
1.3?.\gradlew qudao1Release :就是我們上面執(zhí)行的任務(wù)指令
1.4 保存后修改文件名尾綴:.bat ,然后保存,如下圖所示:
1.5 其實(shí)這里我們直接雙擊這個(gè)buildApk文件,就可以執(zhí)行安卓自動(dòng)打包了,也不用打開AndroidStudio。但是如果你需要自己寫一個(gè)完成流程的自動(dòng)打包腳本,還需要監(jiān)聽這個(gè)打包任務(wù)是否執(zhí)行完成,就需要用到python了。
2. 利用python啟動(dòng)這個(gè)doc文件:
"""編譯生成apk參數(shù)::bat: 可執(zhí)行文件 """ def build_apk(bat):try:# 獲取當(dāng)前腳本的目錄script_dir = os.path.dirname(os.path.abspath(__file__))# 構(gòu)建.bat文件的完整路徑bat_file_path = os.path.join(script_dir, bat)result = subprocess.call([bat_file_path])# 判斷任務(wù)是否執(zhí)行成功if result == 0:print("build apk 任務(wù)執(zhí)行成功")else:print("任務(wù)執(zhí)行失敗,退出狀態(tài)碼為:", result)except subprocess.CalledProcessError as e:print("The command failed with return code "+e.returncode)print("Standard Error:"+e.stderr)
2.1 這個(gè)build_apk方法里的bat參數(shù)就是我們上面建的bat文件的文件名,例如我的是buildApk.bat。
2.2 在python文件里的main方法里調(diào)用 : build_apk('buildApk.bat'),切記這里要使用單引號(hào)。
2.3 把buildApk.bat文件放在python文件的同級(jí)目錄下,這樣你的python腳本才能調(diào)用到他。
2.4 通過終端進(jìn)入到你的python文件下,輸入:python xx.py。你的腳本就可以執(zhí)行了,如下圖
?
2.5 其實(shí)到2.4就完成了這個(gè)打包任務(wù),這在構(gòu)建自動(dòng)打包平臺(tái)時(shí)最關(guān)鍵的流程就通了,啟動(dòng)任務(wù)時(shí)只需要啟動(dòng)你的腳本就可以了
2.6 如果你的項(xiàng)目放在git上,希望每次打包時(shí)保證項(xiàng)目是最新的代碼,那么在打包之前,也可以Python執(zhí)行g(shù)it pull 方法,再進(jìn)行build_apk任務(wù)
def git_pull(repo_directory):"""在指定的倉庫目錄中執(zhí)行 git pull 命令。:param repo_directory: 包含Git倉庫的本地目錄路徑"""try:# 更改當(dāng)前工作目錄到指定的Git倉庫目錄os.chdir(repo_directory)# 執(zhí)行 git pull 命令result = subprocess.call(['git', 'pull'])# 判斷任務(wù)是否執(zhí)行成功if result == 0:print("build apk 任務(wù)執(zhí)行成功")else:print("任務(wù)執(zhí)行失敗,退出狀態(tài)碼為:", result)except subprocess.CalledProcessError as e:# 如果 git pull 命令失敗,則捕獲異常并打印錯(cuò)誤信息print("Error executing git pull: {e}")except Exception as e:# 捕獲其他可能的異常并打印錯(cuò)誤消息print("An unexpected error occurred: {e}")
源碼鏈接:
Python腳本: 用pyhton寫的打包安卓APK的腳本