用Python脚本实行安卓打包使命

[复制链接]
发表于 2025-12-30 22:32:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
这个样例是基于windows体系写的python打包安卓的脚本:

一、设置AndroidStudio下的打包使命

1.在Android项目根目次下的build.gradle文件设置天生Release包的使命:

  1. task cleanAll(type: Delete) {
  2.     delete rootProject.buildDir
  3.     rootProject.subprojects.each { subproject ->
  4.         delete subproject.buildDir
  5.     }
  6. }
  7. task qudao1Release dependsOn(
  8.         cleanAll,
  9.         ':app:assemble千年血战篇_officialOfficialRelease',
  10. )
复制代码
1.1 cleanAll : 使命是打包前清空项目缓存的,直接copy就行
1.2 qudao1Release : 使命就是我们打包使命的名称,
1.3 :app:assemble千年血战篇_officialOfficialRelease 使命是我们gradlew实行的天生apk的指令,
这个指令可以在AndroidStudio里右侧窗口gradle树里找到,如下图:

1.4 如下图 :
  1. assemble千年血战篇_officialOfficialRelease 就是我们要执行的release打包任务
复制代码

1.5 把这个使命copy出来设置在上面1.3讲的位置就好
1.6 在androidStudio下的终端 实行我们的使命:qudao1Release, 实行下令时须要加前缀:.\gradlew。使命回车即可实行打包

二:使用python启动打包使命,我这里用的Python2.7.2版本
1.起首写一个可实行的doc文件,新建一个txt文本,内如如下:
  1. @echo off
  2. @REM 安卓项目路径
  3. cd /d "D:\app\as_project\new_version\GameDemo"
  4. .\gradlew qudao1Release
  5. 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文件:
  1. """
  2.     编译生成apk
  3.     参数:
  4.     :bat: 可执行文件
  5. """
  6. def build_apk(bat):
  7.     try:
  8.         # 获取当前脚本的目录
  9.       script_dir = os.path.dirname(os.path.abspath(__file__))
  10.         # 构建.bat文件的完整路径
  11.       bat_file_path = os.path.join(script_dir, bat)
  12.       result = subprocess.call([bat_file_path])
  13.         # 判断任务是否执行成功
  14.       if result == 0:
  15.             print("build apk 任务执行成功")
  16.       else:
  17.             print("任务执行失败,退出状态码为:", result)
  18.     except subprocess.CalledProcessError as e:
  19.       print("The command failed with return code "+e.returncode)
  20.       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使命
  1. def git_pull(repo_directory):
  2.     """
  3.     在指定的仓库目录中执行 git pull 命令。
  4.     :param repo_directory: 包含Git仓库的本地目录路径
  5.     """
  6.     try:
  7.         # 更改当前工作目录到指定的Git仓库目录
  8.         os.chdir(repo_directory)
  9.         # 执行 git pull 命令
  10.         result = subprocess.call(['git', 'pull'])
  11.         # 判断任务是否执行成功
  12.         if result == 0:
  13.             print("build apk 任务执行成功")
  14.         else:
  15.             print("任务执行失败,退出状态码为:", result)
  16.     except subprocess.CalledProcessError as e:
  17.         # 如果 git pull 命令失败,则捕获异常并打印错误信息
  18.         print("Error executing git pull: {e}")
  19.     except Exception as e:
  20.         # 捕获其他可能的异常并打印错误消息
  21.         print("An unexpected error occurred: {e}")
复制代码
源码链接:
Python脚本: 用pyhton写的打包安卓APK的脚本

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表