问题
I have an application using paramiko, the application itself is going well, but it crashes when you start it, I understand it's in the paramiko module. I have placed the white list next to main.py file and next to the black list file in the pythonforandroid/bootstraps/sdl2/build folder/
Part of my spec file:
source.include_exts = py,png,jpg,kv,atlas
requirements = kivy,kivymd,boto3,botocore,openssl,pyjnius,ecdsa,bcrypt,cryptography,paramiko, android
osx.python_version = 3
osx.kivy_version = 1.10.1
android.permissions = INTERNET, ACCESS_NETWORK_STATE
android.whitelist_src = whitelist.txt
log file
part of log file (which in my opinion causes the app to close)
06-04 16:31:49.640 21791 21824 I python : Traceback (most recent call last):
06-04 16:31:49.640 21791 21824 I python : File "/home/kivy/Desktop/touchtracer2/.buildozer/android/app/main.py", line 5, in <module>
06-04 16:31:49.641 21791 21824 I python : File "/home/kivy/Desktop/touchtracer2/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/myapp/paramiko/__init__.py", line 22, in <module>
06-04 16:31:49.641 21791 21824 I python : File "/home/kivy/Desktop/touchtracer2/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/myapp/paramiko/transport.py", line 89, in <module>
06-04 16:31:49.642 21791 21824 I python : File "/home/kivy/Desktop/touchtracer2/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/myapp/paramiko/dsskey.py", line 37, in <module>
06-04 16:31:49.643 21791 21824 I python : File "/home/kivy/Desktop/touchtracer2/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/myapp/paramiko/pkey.py", line 31, in <module>
06-04 16:31:49.644 21791 21824 I python : File "/home/kivy/Desktop/touchtracer2/.buildozer/android/platform/build-armeabi-v7a/build/python-installs/myapp/bcrypt/__init__.py", line 25, in <module>
06-04 16:31:49.644 21791 21824 I python : ImportError: dlopen failed: "/data/data/org.test.myapp/files/app/_python_bundle/site-packages/bcrypt/_bcrypt.so" is 64-bit instead of 32-bit
06-04 16:31:49.644 21791 21824 I python : Python for android ended.
My app, exclusively for the test
from kivy.lang import Builder
from kivymd.app import MDApp
import boto3
import io
import paramiko
KV = '''
Screen:
Button:
id: button
text: "Start"
font_size: "18sp"
on_release: app.start()
'''
class MainApp(MDApp):
def build(self):
self.theme_cls.primary_palette = "Green"
return Builder.load_string(KV)
def start(self):
print('1')
MainApp().run()
buildozer.spec
回答1:
I updated buildozer to version 1.2.0, commented out these lines p4a.source_dir = /home/kivy/Repos/python-for-android/
android.ndk_path
android.sdk_path
, installed python 3.8, fulfilled this command in the terminal buildozer android clean
and trimmed this line requirements = kivy,kivymd,boto3,botocore,openssl,pyjnius,ecdsa,bcrypt,cryptography,paramiko,dateutil,urllib3,jmespath,PyNaCl, android
来源:https://stackoverflow.com/questions/62196148/why-does-the-kivy-app-crash-when-using-the-paramiko-module