如何在 Ubuntu 上安装 Buildozer 以创建 Kivy 应用程序的 Android APK?

2024-01-20

在 Ubuntu 13.10 上安装 buildozer 并不容易。我重新安装了 Ubuntu 好几次,现在我想分享一下我是如何安装 buildozer 的。

我从 buildozer 收到以下错误:

  1. ./distribute.sh 未找到 --> 未找到修复(这就是我重新安装 Ubuntu 两次的原因,可能是 python 安装的问题,但我不确定)
  2. _add_java_src() 失败 --> 添加正确的 Java JDK 路径修复了该问题

下面描述的过程对我来说非常有效:

我已将其安装在 Windows 7(64 位)主机系统的虚拟机(VMware 播放器)内全新安装的 Ubuntu 13.10(32 位)中。

我决定使用 32 位,因为 VM 使用的 RAM 不多,并且不需要 64 位系统。但 64 位 Ubuntu 可能也可以工作(未经测试)。我将 VMWare 文件的 zip 存档上传到 google 驱动器(root 用户 alexander 在 ubuntu 中的密码是 UbuntuBuildozer)

您可以在此处找到 zip 文件:https://drive.google.com/file/d/0B5m9_RVHCpL-YmxPVnVaYWZyZ2s/edit?usp=sharing https://drive.google.com/file/d/0B5m9_RVHCpL-YmxPVnVaYWZyZ2s/edit?usp=sharing

  1. 安装Python-Kivy (http://kivy.org/docs/installation/installation-linux.html#ubuntu-11-10-or-newer http://kivy.org/docs/installation/installation-linux.html#ubuntu-11-10-or-newer) with

    $ sudo add-apt-repository ppa:kivy-team/kivy

    $ sudo apt-get 更新

    $ sudo apt-get install python-kivy

  2. 安装 pip,如果还没有:

    $ sudo apt-get install python-pip python-dev build-essential

  3. 构建器的先决条件: 需要 zlib、Git、Cython 和 JDK

    $ sudo apt-get install zlib1g-dev git-core cython openjdk-7-jdk

    安装 Java JDK 指南(http://tecadmin.net/install-java-jdk-ubuntu/# http://tecadmin.net/install-java-jdk-ubuntu/#)

  4. 安装 buildozer (https://github.com/kivy/buildozer https://github.com/kivy/buildozer)

    $ sudo pip 安装 buildozer

  5. 初始化 buildozer 并开始调试(只是为了安装 Android SDK、NDK 和 AINT - 还不需要 main.py,这需要几分钟):

    $ 构建器初始化

    $ buildozer android 调试

  6. 如果 buildozer 在 _add_java_src() 处失败:在 /home/yourusername/.bashrc 中添加 JDK 路径 - 在末尾添加这些行(重要的是使用 1.x JDK 而不是 java-7 路径):

    导出 PATH=$PATH:/usr/lib/jvm/java-1.6.0-openjdk-i386/bin

    导出 JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-i386

  7. 现在转到您的应用程序 main.py 并执行以下命令:

    $ 构建器初始化

    (编辑 buildozer.spec 并更改您的应用程序名称并检查第 28/29 行或第 32 行的版本控制 --> 取决于您的 main.py 代码
    请参阅SO答案Buildozer 编译简单的 android kivy 应用程序,但在打包时失败 https://stackoverflow.com/questions/22336791/buildozer-compiles-simple-android-kivy-application-but-fails-while-packaging)

    $ buildozer android 调试部署运行

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ubuntu 上安装 Buildozer 以创建 Kivy 应用程序的 Android APK? 的相关文章

随机推荐

  • WAN 上的 TCP/UDP 套接字服务器

    我用 C 编写了一个套接字服务器 它将用作我参与的一个小型游戏项目的基本设计 套接字服务器在局域网上工作正常 我能够在服务器和客户端之间完全正常通信 然而 在 WAN 上 服务器从客户端接收到所有正确的消息 但客户端没有从服务器接收到任何消
  • 本地化可点击跨度 Android

    我在我的应用程序中使用本地化 english indonesia 然后在活动中我写 class MainActivity AppCompatActivity private lateinit var binding ActivityMain
  • 将 .jar 转换为适用于 Windows、Linux 和 Mac 的应用程序

    我用 Eclipse 制作了一个 Java 应用程序 导出为 jar 我想将其导出到 Windows exe Linux 和MAC 我没有任何 Linux 或 MAC 机器 所以我不知道每台机器都需要什么扩展文件 所以我有几个问题 对于 W
  • 如何使用 Glide v4.0.0RC1 将图像从 Url 加载到 ImageView 中

    我刚刚在我的应用程序中将 Glide 库从 v3 更新到了 v4 但现在我无法从 url 加载图像 以前它在 v3 上工作得很好 这是我的滑行代码 Glide with context load galleryList get itemPo
  • Swift 中的 HTTP 长轮询

    我正在尝试使用 iOS 8 在 Swift 中实现长轮询解决方案 虽然该解决方案无疑有效 并且让主线程可以自由进行 UI 交互 但内存使用量不断攀升 所以我显然做错了一些事情 我写的类如下 enum LongPollError ErrorT
  • 如何正确删除集市分支?

    如何正确从存储库中删除集市分支 如果我想完全删除一个分支 这样就无法找到这个分支是否存在怎么办 我知道remove branch命令 但是还有其他选择吗 bzr remove branch是删除分支的最简单方法 如果您不能使用该命令 您能说
  • Slack Slash 命令 - 图像未展开

    我编写了一个自定义 Slash 命令 它接受用户的查询并返回图像 接收到 Slash 命令的服务器端检索用户的查询 并形成图像 URLhttp example com file1 png并将响应发回为
  • 房间数据库:如何将列名检索到字符串列表中?

    我有一个名为 addresses 的 Room 表 有 15 列 我检索一行并希望将值获取到 List 中 而不是 List 中 那可能吗 Query SELECT FROM addresses WHERE myid id List
  • 如何按相关性对MYSQL全文搜索结果进行排序

    我对 MYSQL 比较陌生 并且有一个问题困扰了我一段时间 我已经尝试到处搜索答案 但到目前为止还无法找到可接受的解决方案 这是我当前正在运行的查询 用于查找给定搜索词的最佳匹配 query SELECT from vocabulary W
  • 如何频繁更新通知中心的今日小部件?

    我发现我的通知中心小部件不会经常重新加载 因此 所提供的数据已过时 我无法找到一种方法让小部件在每次打开 今日 视图时刷新 我见过诸如 NBA Gametime 之类的应用程序 每次我下拉查看小部件时它们都会更新 如何在我的应用程序中获得此
  • 如何有效地查找地图中集合的子集?

    假设我有一个值集到值的映射 在 Java 中 该映射的类型为 Map
  • gfortran:在64位系统中编译32位可执行文件

    我正在 AMD Athlon tm 64 X2 双核处理器 5200 2 上运行 Ubuntu 12 10 64 位 和 Linux 内核 3 5 0 51 generic 我有 GNU Fortran Ubuntu Linaro 4 7
  • 如何引用名称中带有点的 Pandas 列

    我正在 Python Pandas 中使用一个数据框 该数据框的列名前面带有Content 我可以通过声明访问给定的列df Content xyz 但是 当我尝试对其执行查询时 例如df query Content xyz not in m
  • /var/crash 中没有核心转储

    我想了解一下核心转储是如何工作的 我使用 test c 文件生成核心转储 include
  • 如何在Golang回调函数中传递变量?

    我有以下代码 func loopThroughDirs path string fileInfo os FileInfo err error error do something with service return nil func m
  • 当我将负值赋给 unsigned int 时会发生什么? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的有符号到无符号转换 它总是安全的吗 https stackoverflow com questions 50605 signed to unsigned conversion in c is
  • 如何使用linq获取单节点数据

    我有以下 xml 文件
  • Rails 4页面在ajax调用后重新加载

    我有一个应用程序 它根据我存储在会话变量中的位置显示大量信息页面 我在其他控制器的不同页面之间部分共享时使用单个选择 location select html erb 这将进行 ajax 调用 位置 控制器 rb class Locatio
  • PHP 在尝试使用 PDO 连接到错误的数据库时不显示错误

    我对 PHP 还很陌生 我遇到了一个非常基本的问题 尽管在论坛中查看了类似的问题 但我还没有找到解决方案 我正在尝试通过 PDO 将 PHP 与我的数据库 MySQL 连接 如果我输入错误的用户名或密码 php 会在浏览器中显示错误 但如果
  • 如何在 Ubuntu 上安装 Buildozer 以创建 Kivy 应用程序的 Android APK?

    在 Ubuntu 13 10 上安装 buildozer 并不容易 我重新安装了 Ubuntu 好几次 现在我想分享一下我是如何安装 buildozer 的 我从 buildozer 收到以下错误 distribute sh 未找到 gt