【发布时间】:2017-08-27 05:54:49
【问题描述】:
嗨!我有一个用 kivy 和 python3 编写的现成项目。这个节目 在所有桌面操作系统(Windows、Linux、MacOS)上都可以正常工作,但之后 编译成 .apk 文件,UrlRequest 对我不起作用。我什么 只是没有做,在 buildozer 中;
-- requirements = pyopenssl,openssl,docutils,android,python3crystax,kivy
在
-- android.permissions = INTERNET, ACCESS_NETWORK_STATE
在android上安装.apk文件并按下按钮后 抓取网站的页面,程序会产生错误
**name 'HTTPSConnection' is not defined**
这是带有 UrlRequest 的代码的一部分:
def get_html(self, link):
try:
from kivy.network.urlrequest import UrlRequest
if isinstance(link, bytes):
link = link.decode('utf-8')
reg = UrlRequest(link, debug=True,
on_success=self.suc, on_error=self.err)
while not reg.is_finished:
sleep(0.5)
Clock.tick()
except HTTPError:
pass
def suc(self, reg, result):
self.add_widget(Label(
text=str(result), font_size='15sp', color=(0, 0, 0, 1)
))
def err(self, reg, error):
class Error(App):
def build(self):
win_report = BugReporter(txt_report=str(error))
return win_report
Error().run()
in variable (link) 从字典中插入链接。
dict_links = dict({
"userful_programs": "https://pcompstart.com/?view=cat&category=1",
"advice_on_computer": "https://pcompstart.com/?view=cat&category=2",
"user_windows": "https://pcompstart.com/?view=cat&category=3",
"articles_in_theme": "https://pcompstart.com/?view=cat&category=4",
"popular_program": "https://pcompstart.com/?view=cat&category=5",
"other": "https://pcompstart.com/?view=cat&category=6"})
我的 buildozer.spec 的完整文件日志,log_level = 2,附加在 这个链接; https://15530009509605697547.googlegroups.com/attach/38c18b633925d/logcat.txt?part=0.1&view=1&vt=ANaJVrFE1tvgVU8m0abaquknNDEzcXf_tgIMDdxEzo1tMSLUhqzNrto84pYWSc4sPxksIpmwEkAWhL_2IO2dptE2TLwFKzKJ535Vct_CDD_BgCz1M2G7u50
谢谢!
或者如果在同一个文件中我会执行 --
from http.client import HTTPSConnection
然后在android上编译后我得到错误--
ImportError: cannot import name 'HTTPSConnection'
或者如果我会执行--
import ssl
然后在android上编译后我得到错误--
ImportError: No module named '_ssl'
可能在没有 SSL 支持的情况下进行 kivy 编译。这是错误还是我错了?
【问题讨论】:
标签: android python-3.x kivy buildozer