将kivy应用程序包装到android

时间:2013-11-22 10:16:21

标签: android python sqlite kivy

我之前编译我的kivy应用程序(多次完成)从来没有遇到过问题,但我现在有一个问题:它会在我的手机上正常抛出应用程序但是当我打开它时它会在预分区图标上冻结并给我一条消息: “无法提取公共数据”。我认为这是我的sqlite3文件。 所以我更改了它的名称并添加到./distribute.sh -m "sqlite3 kivy"并仍然有问题。我的build.py看起来像这样:

./build.py --dir /home/toufic/Desktop/Pay4 --name "Lebanese PayCalc" --package org.demo.PayCalc --version 1.2.4 --icon /home/toufic/Desktop/Pay4/lp.png --presplash /home/toufic/Desktop/Pay4/onmyown.png --permission INTERNET --permission WRITE_EXTERNAL_STORAGE --window debug installd

如果我尝试用buildozer编译它,我有以下错误:

File "/usr/lib/python2.7/bsddb/__init__.py", line 270, in <lambda>
    return _DeadlockWrap(lambda: self.db[key])  # self.db[key]
bsddb.db.DBPageNotFoundError: (-30985, 'DB_PAGE_NOTFOUND: Requested page not found')

在我的main.py文件中,我有以下依赖项:

from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.properties import ObjectProperty
from net_pay_oop import * # it's a class i have written and using its instance in  my code
from kivy.uix.popup import Popup
from kivy.uix.label import Label
import sqlite3
import datetime
import os
import math
import smtplib
from kivy.core.window import Window
from kivy.uix.screenmanager import ScreenManager,Screen
import sys

长话短说我需要正确的方法来编译它使用python-for-android或Buildozer实用程序(我是新手)。任何人都可以根据我正在使用的模块请求帮助,或者有没有办法调试构建并知道问题隐藏在哪里?

编辑:所以我打开了应用程序,但SMTP服务无法运行。我应该这样做./distribute.sh“openssl sqlit3 kivy”?

1 个答案:

答案 0 :(得分:0)

要启用smtp服务的解决方案是在distribute.sh中包含openssl选项,但仍然是我的设备发出的错误:“无法提取公共数据”未解决。我想这是一个sqlite3问题,但问题是这只发生在第一次安装后我的应用程序正常加载并显示所有保存的数据并正常浏览它们。