使用 kivy 编码时的 .apk 大小与 Java 中的 .apk 大小相比

paa*_*tra 5 python android kivy

我刚刚在 kivy 中创建应用程序后创建了一个 apk,但是在我看来,创建的 apk 的大小在 android 上确实很大,并且在运行应用程序后,大小变得越来越大。请参阅下面的示例:

  1. 此示例的代码 .apk 是 Hello World 的最小应用程序。代码如下:

导入 kivy kivy.require('1.0.6')

from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.button import Button

class MyApp(App):
    def build(self):
        return Button(text='Hello world')


if __name__ == '__main__':
    MyApp().run()
Run Code Online (Sandbox Code Playgroud)
  1. 包含上述代码的文件大小:1 kb

  2. 使用 python for android 项目创建其 apk 及其大小(6.7 MB): 3.1 ./distribute.sh -m "kivy" 3.2 ./build.py --dir /home/kivy/HelloWorld/ --package org .ex.helloworld --name "HelloWorld" --icon /home/kivy/Work/HelloWorldDistribute/a.png --version 1.3 --orientation Portrait debug installd

kivy@kivy-VirtualBox:~/android/python-for-android/dist/first/bin$ du -h HelloWorld-1.3-debug.apk 6.7M HelloWorld-1.3-debug.apk

  1. 使用以下命令在 Android Samsung Galaxy s3 上安装此应用程序:

    4.1 adb install -r HelloWorld-1.3-debug.apk 421 KB/s (16.208s 内 6996727 字节) pkg: /data/local/tmp/HelloWorld-1.3-debug.apk 成功

Android 上的大小:10.5 MB

  1. 如果我在 Android 上运行此应用程序 1 次,然后检查大小,它会变为 24.11 MB

这是否意味着从 kivy 创建的 Android 应用程序的最小大小将为 10.5 MB?我见过很多体积较小且用 Java 制作的应用程序?有什么办法可以用更小的 kivy 制作应用程序吗?有人可以建议吗?

Pad*_*ham 5

当您使用 Kivy 和 Python 编写 Android 应用程序时,您必须在构建中包含一些 Kivy 和 Python 库,Kivy 本身为 5-6mb,因此根据您在应用程序中包含的数据量,大小会有所不同。正如 Brousch 指出的那样,每个版本都有一个完整的 Python 解释器。

构建 apk 后,如果查看文件内部,您将看到发行版中每个文件的不同大小。

如果您查看此处,可以找到有关发行版基本布局的指南。

  • 这不仅仅是 Python 库,Kivy 还必须在每个 APK 中捆绑整个 Python 解释器,因为 Android 中不包含 Python。 (2认同)