【001】RenPy打包安卓apk 流程源码级别分析

1. 入口在下图

2. SDK版本及代码入口 (renpy-8.3.7-sdk)

由于SDK一直在升级,本文采用 标题中的版本进行分析,整体逻辑变化不太大。

实际执行逻辑是调用的rapt

2.1 点击按钮实际执行逻辑

 def AndroidIfState(state, needed, action):
    if state >= needed:
        return action
    else:
        return None

2.2  点击触发操作

class AndroidBuild(Action):
    def __init__(self, label):
        self.label = label

    def __call__(self):
        renpy.jump(self.label)
2.3 调用函数 def android_build(...)

def android_build(p=None, gui=True, bundle=False, install=False, launch=False, destination=None, opendir=False, packages=None):
    ...
2.4 执行构建过程

   rapt.build.build(
       rapt_interface,
       dist,
       p.path,
       bundle=bundle,
       install=install,
       launch=launch,
       finished=finished,
       permissions=p.dump['build']['android_permissions'],
       version=p.dump['build']['version']
   )
   2.5 构建完成后处理输出文件 

   def finished(files, destination=destination):
       # 复制文件到目标路径,并打开目录
3.   总结:

graph TD
    A[点击 Build Package 按钮] --> B{AndroidState() == ANDROID_OK?}
    B -- 是 --> C[执行 AndroidBuild("android_build")]
    C --> D[跳转到 label android_build]
    D --> E[调用 python 函数 android_build()]
    E --> F[执行构建逻辑]
    F --> G{构建成功?}
    G -- 是 --> H[复制文件到目标路径]
    G -- 否 --> I[显示错误信息]
    H --> J[打开输出目录]
   下一篇  分析 rapt中实际的执行逻辑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值