【问题标题】:Buildozer is building kivy each time though it has previously built distBuildozer 每次都在构建 kivy,尽管它之前已经构建了 dist
【发布时间】:2022-01-22 15:07:59
【问题描述】:

我正在使用带有 kivy 的 buildozer 及其过程如果

  • 下载东西
  • 构建拱门的配方
  • 在 apk 的下一个发行版中重复使用该 dist

但是在我的应用程序中,我使用花园花 zbarcam,我直接放入 gsource 文件夹,但是每个 gtime,buildozer 都在为 arch 构建 dist,尽管它已经存在,根据我的阅读,版本号应该与 buildoser 中的要求标签匹配。规范,但我没有在其中定义版本号,直接使用,意味着配方中的版本号不应该存在问题

我的问题是,buildozer 每次都在进行 ndk 构建,它在 dists 文件夹中找到它,尽管它已经从以前的编译中构建了 dist。 有人可以帮忙吗?

【问题讨论】:

    标签: android build kivy buildozer p4a


    【解决方案1】:

    我集思广益,想出了如下解决方案

    • 无需从11jdk 更新到13jdk 将无法工作,Android 的jdk8 SDK 工具已弃用,仅支持该版本,因此请勿将其更新为更高版本.

    • 如果需求没有改变,则无需为您的架构重新构建。

    • 每次更改要求时都请bulldozer clean

    • kivy_gardensrc/文件夹放在项目的侧文件夹中,不需要从需求部分安装。

    另外,我对p4a下的toolchain文件做了一些修改,如下

    def require_prebuilt_dist(func):
    """Decorator for ToolchainCL methods. If present, the method will
    automatically make sure a dist has been built before continuing
    or, if no dists are present or can be obtained, will raise an
    error.
    """
    
    @wraps(func)
    def wrapper_func(self, args, **kw):
        ctx = self.ctx
        ctx.set_archs(self._archs)
        ctx.prepare_build_environment(user_sdk_dir=self.sdk_dir,
                                      user_ndk_dir=self.ndk_dir,
                                      user_android_api=self.android_api,
                                      user_ndk_api=self.ndk_api)
        dist = self._dist
        info_notify(dist)
        if dist.needs_build:
            info_notify('needs build')
            if dist.folder_exists():  # possible if the dist is being replaced
                info_notify('not deleting')
                #dist.delete()
            info_notify('No dist exists that meets your requirements, '
                        'so one will be built.')
            #build_dist_from_args(ctx, dist, args)
        func(self, args, **kw)
    return wrapper_func
    

    现在它只有在成功构建后才能工作,

    如果您找到解决此问题的更好方法,请发表评论。

    谢谢

    【讨论】:

      猜你喜欢
      • 2020-06-12
      • 1970-01-01
      • 2019-12-12
      • 1970-01-01
      • 1970-01-01
      • 2017-04-26
      • 1970-01-01
      • 2017-02-14
      • 2015-12-01
      相关资源
      最近更新 更多