马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
这个样例是基于windows体系写的python打包安卓的脚本:
一、设置AndroidStudio下的打包使命
1.在Android项目根目次下的build.gradle文件设置天生Release包的使命:
- task cleanAll(type: Delete) {
- delete rootProject.buildDir
- rootProject.subprojects.each { subproject ->
- delete subproject.buildDir
- }
- }
- task qudao1Release dependsOn(
- cleanAll,
- ':app:assemble千年血战篇_officialOfficialRelease',
- )
复制代码 1.1 cleanAll : 使命是打包前清空项目缓存的,直接copy就行
1.2 qudao1Release : 使命就是我们打包使命的名称,
1.3 :app:assemble千年血战篇_officialOfficialRelease 使命是我们gradlew实行的天生apk的指令,
这个指令可以在AndroidStudio里右侧窗口gradle树里找到,如下图:
1.4 如下图 :
- assemble千年血战篇_officialOfficialRelease 就是我们要执行的release打包任务
复制代码
1.5 把这个使命copy出来设置在上面1.3讲的位置就好
1.6 在androidStudio下的终端 实行我们的使命:qudao1Release, 实行下令时须要加前缀:.\gradlew。使命回车即可实行打包
二:使用python启动打包使命,我这里用的Python2.7.2版本
1.起首写一个可实行的doc文件,新建一个txt文本,内如如下:
- @echo off
- @REM 安卓项目路径
- cd /d "D:\app\as_project\new_version\GameDemo"
- .\gradlew qudao1Release
- pause
复制代码 1.2 D:\app\as_project\new_version\GameDemo: 为我们安卓项目标路径
1.3 .\gradlew qudao1Release :就是我们上面实行的使命指令
1.4 生存后修改文件名尾缀:.bat ,然后生存,如下图所示:
1.5 实在这里我们直接双击这个buildApk文件,就可以实行安卓自动打包了,也不消打开AndroidStudio。但是假如你须要自己写一个完成流程的自动打包脚本,还须要监听这个打包使命是否实行完成,就须要用到python了。
2. 使用python启动这个doc文件:
- """
- 编译生成apk
- 参数:
- :bat: 可执行文件
- """
- def build_apk(bat):
- try:
- # 获取当前脚本的目录
- script_dir = os.path.dirname(os.path.abspath(__file__))
- # 构建.bat文件的完整路径
- bat_file_path = os.path.join(script_dir, bat)
- result = subprocess.call([bat_file_path])
- # 判断任务是否执行成功
- if result == 0:
- print("build apk 任务执行成功")
- else:
- print("任务执行失败,退出状态码为:", result)
- except subprocess.CalledProcessError as e:
- print("The command failed with return code "+e.returncode)
- print("Standard Error:"+e.stderr)
复制代码 2.1 这个build_apk方法里的bat参数就是我们上面建的bat文件的文件名,比方我的是buildApk.bat。
2.2 在python文件里的main方法里调用 : build_apk('buildApk.bat'),牢记这里要使用单引号。
2.3 把buildApk.bat文件放在python文件的同级目次下,如许你的python脚本才气调用到他。
2.4 通过终端进入到你的python文件下,输入:python xx.py。你的脚本就可以实行了,如下图
2.5 实在到2.4就完成了这个打包使命,这在构建自动打包平台时最关键的流程就通了,启动使命时只须要启动你的脚本就可以了
2.6 假如你的项目放在git上,渴望每次打包时包管项目是最新的代码,那么在打包之前,也可以Python实行git pull 方法,再举行build_apk使命
- def git_pull(repo_directory):
- """
- 在指定的仓库目录中执行 git pull 命令。
- :param repo_directory: 包含Git仓库的本地目录路径
- """
- try:
- # 更改当前工作目录到指定的Git仓库目录
- os.chdir(repo_directory)
- # 执行 git pull 命令
- result = subprocess.call(['git', 'pull'])
- # 判断任务是否执行成功
- if result == 0:
- print("build apk 任务执行成功")
- else:
- print("任务执行失败,退出状态码为:", result)
- except subprocess.CalledProcessError as e:
- # 如果 git pull 命令失败,则捕获异常并打印错误信息
- print("Error executing git pull: {e}")
- except Exception as e:
- # 捕获其他可能的异常并打印错误消息
- print("An unexpected error occurred: {e}")
复制代码 源码链接:
Python脚本: 用pyhton写的打包安卓APK的脚本
|