使用Kivy编写的.apk文件大小与Java的比较

5 投票
1 回答
3829 浏览
提问于 2025-04-18 05:22

我刚用kivy创建了一个应用程序并生成了apk文件,但我发现这个apk的大小在安卓设备上真的很大,而且运行这个应用后,大小还在不断增加。下面是一个例子:

  1. 这个示例.apk的代码是一个最简单的“你好,世界”应用。代码如下:

import 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()
  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. 在安卓三星Galaxy S3上安装这个应用时,使用了以下命令:

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

在安卓上的大小:10.5 MB

  1. 如果我在安卓上运行这个应用一次,然后再检查大小,它变成了24.11 MB

这是否意味着用kivy创建的安卓应用的最小大小是10.5 MB?我见过很多用Java做的应用,它们的大小更小。有没有办法让kivy制作的应用更小一些?有人能给点建议吗?

1 个回答

5

当你用Kivy和Python写一个安卓应用时,你需要在构建过程中加入一些Kivy和Python的库。Kivy本身大约是5-6MB,所以根据你在应用中包含的数据多少,最终的大小会有所不同。每次构建都会包含一个完整的Python解释器,正如Brousch所提到的。

在你构建出apk文件后,如果你打开这个文件,你会看到里面每个文件的大小各不相同。

如果你想了解更多,可以查看这里,里面有关于分发包基本结构的指南。

撰写回答