3

Built with buildozer using: Python 2.7.12 Kivy 1.10.0 Cython 0.25.2

My app is a simple test app that continuously checks an API I created with AWS API-Gateway/lambda for a changes in a returned value and alerts me.

The program runs fine with kivy on my ubuntu and mac desktops, I can hit the API no problem, but once the apk is built and put on my phone it doesn't work correctly and dies as soon as I hit a button to trigger the api checks. I've tested on 2 phones, Android 6 and 7.

Example of the check, I'm not doing anything crazy, and as I said it works from my desktop machine. (I've scrambled the API address below)

api = 'https://34kjh545df.execute-api.us-east-1.amazonaws.com/test/dar_status'
getApi = requests.get(darUI.api)
check = getApi.text
return check

Using adb logcat I've grabbed the log output from when I press the button.

This is the line saying there is a DNS issue, but I can hit the API fine on my phone in the browser.

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.',))

The rest of the log around that period.

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)

I'm wondering if there is another module or something I need to include in the buildozer build?

requirements = kivy, requests, openssl

At the moment I have no idea what it could be and if anyone has an idea I'd appreciate any help.

Thanks.

dwaynedibley
  • 51
  • 1
  • 3

1 Answers1

2

So I discovered the issue, I didn't give the app permissions to access the Internet in buildozer.

In buildozer.spec I uncommented the line below.

# (list) Permissions
android.permissions = INTERNET
dwaynedibley
  • 51
  • 1
  • 3