使用buildozer构建,使用以下技术:
Python 2.7.12
Kivy 1.10.0
Cython 0.25.2
我的应用程序是一个简单的测试应用程序,不断检查我使用AWS API-Gateway / lambda创建的API中返回值的更改,并向我发出警报。
该程序在我的ubuntu和Mac桌面上使用kivy运行良好,我可以毫无问题地调用API,但是一旦apk构建并放在我的手机上,当我按下按钮触发api检查时,它就无法正常工作并立即终止。 我已经在两部手机上测试过,分别是Android 6和7。
以下是检查示例,我没有做任何疯狂的事情,就像我说的那样,它可以从我的桌面计算机上工作。(我已经混淆了下面的API地址)
那段时间周围的日志。
我的应用程序是一个简单的测试应用程序,不断检查我使用AWS API-Gateway / lambda创建的API中返回值的更改,并向我发出警报。
该程序在我的ubuntu和Mac桌面上使用kivy运行良好,我可以毫无问题地调用API,但是一旦apk构建并放在我的手机上,当我按下按钮触发api检查时,它就无法正常工作并立即终止。 我已经在两部手机上测试过,分别是Android 6和7。
以下是检查示例,我没有做任何疯狂的事情,就像我说的那样,它可以从我的桌面计算机上工作。(我已经混淆了下面的API地址)
api = 'https://34kjh545df.execute-api.us-east-1.amazonaws.com/test/dar_status'
getApi = requests.get(darUI.api)
check = getApi.text
return check
使用adb logcat,我捕获了按下按钮时的日志输出。
这是指出DNS问题的行,但我可以在手机浏览器上成功访问API。
02-04 10:31:32.995 14079 14094 I python : requests.exceptions.ConnectionError: HTTPSConnectionPool(host='34kjh545df.execute-api.us-east-1.amazonaws.com', port=443): Max retries exceeded with url: /test/dar_status (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0xdeb44ff0>: Failed to establish a new connection: [Errno 2] temporary failure in name resolution.',))
那段时间周围的日志。
02-04 10:31:32.987 14079 14094 I python : File "/work/dar/.buildozer/android/app/main.py", line 96, in my_callback
02-04 10:31:32.988 14079 14094 I python : File "/work/dar/.buildozer/android/app/main.py", line 79, in api_check
02-04 10:31:32.988 14079 14094 I python : File "/work/dar/.buildozer/android/platform/build/dists/testApp/private/lib/python2.7/site-packages/requests/api.py", line 70, in get
02-04 10:31:32.988 14079 14094 I python : File "/work/dar/.buildozer/android/platform/build/dists/testApp/private/lib/python2.7/site-packages/requests/api.py", line 56, in request
02-04 10:31:32.993 14079 14094 I python : File "/work/dar/.buildozer/android/platform/build/dists/testApp/private/lib/python2.7/site-packages/requests/sessions.py", line 488, in request
02-04 10:31:32.994 14079 14094 I python : File "/work/dar/.buildozer/android/platform/build/dists/testApp/private/lib/python2.7/site-packages/requests/sessions.py", line 609, in send
02-04 10:31:32.994 14079 14094 I python : File "/work/dar/.buildozer/android/platform/build/dists/testApp/private/lib/python2.7/site-packages/requests/adapters.py", line 487, in send
02-04 10:31:32.995 14079 14094 I python : requests.exceptions.ConnectionError: HTTPSConnectionPool(host='34kjh545df.execute-api.us-east-1.amazonaws.com', port=443): Max retries exceeded with url: /test/dar_status (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0xdeb44ff0>: Failed to establish a new connection: [Errno 2] temporary failure in name resolution.',))
02-04 10:31:33.058 14079 14094 I python : Python for android ended.
02-04 10:31:33.062 2815 2839 V WindowManager: Changing focus from Window{a4f9629 u0 testApp.darapp.testApp/org.kivy.android.PythonActivity} to null Callers=com.android.server.wm.WindowManagerService.setFocusedApp:4299 com.android.server.am.ActivityManagerService.setFocusedActivityLocked:2934 com.android.server.am.ActivityStackSupervisor.moveHomeStackTaskToTop:538 com.android.server.am.ActivityStack.adjustFocusedActivityLocked:2868
02-04 10:31:33.062 2815 2839 D ActivityTrigger: ActivityTrigger activityPauseTrigger
02-04 10:31:33.062 2815 2932 I WindowManager: Losing focus: Window{a4f9629 u0 testApp.darapp.testApp/org.kivy.android.PythonActivity}
02-04 10:31:33.062 2815 2839 I ActivityManager: startPausingLocked.updateThumbnail is run here
02-04 10:31:33.063 14079 14079 V SDL : onWindowFocusChanged(): false
02-04 10:31:33.072 2815 2839 D PowerManagerNotifier: onWakeLockAcquired: flags=1, tag="*launch*", packageName=android, ownerUid=1000, ownerPid=2815, workSource=WorkSource{10235}
02-04 10:31:33.073 14079 14079 V PythonActivity: onPause()
02-04 10:31:33.073 14079 14079 V SDL : onPause()
02-04 10:31:33.073 14079 14079 V SDL : nativePause()
02-04 10:31:33.073 14079 14079 F libc : Fatal signal 11 (SIGSEGV), code 1, fault addr 0x4 in tid 14079 (testApp)
我想知道是否需要在buildozer构建中包含其他模块或文件?
requirements = kivy, requests, openssl
目前我不知道它可能是什么,如果有人有任何想法,我将感激不尽。
谢谢。