App must support 16 KB memory page sizes

351 views
Skip to first unread message

metin...@gmail.com

unread,
May 18, 2026, 9:19:55 AMMay 18
to kivy-...@googlegroups.com

Hi all,

 

I am having “App must support 16 KB memory page sizes” issue for my apps on Google Play console. Google says;

To ensure that your app works correctly on the latest versions of Android, Google Play requires all apps targeting Android 15+ to support 16 KB memory page sizes.

From 31 May 2026, if your app updates do not support 16 KB memory page sizes, you won't be able to release these updates.

Your latest production release does not support 16 KB memory page sizes.

 

I also see the details below when I go to latest releases;

Memory page size;

Does not support 16 KB

Libraries that do not support 16 KB:

base/lib/arm64-v8a/libSDL2.so

base/lib/arm64-v8a/libSDL2_image.so

base/lib/arm64-v8a/libSDL2_mixer.so

base/lib/arm64-v8a/libSDL2_ttf.so

base/lib/arm64-v8a/libcrypto1.1.so

base/lib/arm64-v8a/libffi.so

base/lib/arm64-v8a/libmain.so

base/lib/arm64-v8a/libpython3.11.so

base/lib/arm64-v8a/libsqlite3.so

base/lib/arm64-v8a/libssl1.1.so


Does anyone have any idea how to solve it? Wondering if there is a procedure to go thru.

 

Many thanks in advance.

 

Best,

Metin


Kenechukwu Akubue

unread,
May 18, 2026, 9:21:05 AMMay 18
to kivy-...@googlegroups.com
Change your ndk to 28c

--
You received this message because you are subscribed to the Google Groups "Kivy users support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kivy-users+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/kivy-users/000001dce6c8%24f65251f0%24e2f6f5d0%24%40gmail.com.

metin...@gmail.com

unread,
May 18, 2026, 9:26:37 AMMay 18
to kivy-...@googlegroups.com

Did it however, neither android.ndk = 28c nor android.ndk = 25b worked. I also changed many things on my spec file.

 

Only 28c was enough to solve this?

demetrius cyprian

unread,
May 18, 2026, 9:35:29 AMMay 18
to kivy-...@googlegroups.com
I think you should downgrade the android app, if the version is above 15+ or else you should upgrade android app if a the app is below 15+

pedro h

unread,
May 18, 2026, 5:29:50 PMMay 18
to Kivy users support

Hi Metin,

I completely understand your frustration. Based on my experience, simply tweaking the buildozer.spec or changing the NDK version to 28c or 25b will not be enough to solve this issue. The entire underlying toolchain and build system must work hand in hand to compile and package everything correctly according to Google's new requirements.

I successfully stress-tested this configuration with my own complex face-detection project using native CameraX and Google ML Kit for face detection. Even though I don't publish on the Play Store myself (at least for now), I verified the final .aab output using Google's official bundletool validate and readelf utilities. It passed all structural checks flawlessly, confirming that the 16 KB (0x4000) alignment is strictly enforced and the .so files are properly stored uncompressed.

I have attached my buildozer.spec file that I use for this playstore ready build to this post.

However, as I mentioned, the .spec file is only half the battle. If you are interested in a solution, the approach discussed in this Google Groups thread might be just what you need:

🔗 https://groups.google.com/g/kivy-users/c/Vz7Qh4A4NY8

If you give it a try, I would love to hear from you whether it worked out and if you successfully managed to get your .aab onto the Play Store. Since I build both .apk and .aab files myself but don't plan to publish anything on the Play Store (at least for now), I would be really glad to hear from others if this approach led to their success!

Best regards, Pedro

buildozer.spec.txt

metin...@gmail.com

unread,
May 18, 2026, 11:44:28 PMMay 18
to kivy-...@googlegroups.com

Dear Pedro,

 

Many thanks for detailed answer and sharing your spec file. Much appreciated!

 

I am working on the update for couple of days. While heading the deadline, I never thought it would be this difficult 😊I will definitely give it a try and keep you posted.

 

Best,

Metin

 

From: 'pedro h' via Kivy users support <kivy-...@googlegroups.com>
Sent: Tuesday, May 19, 2026 12:30 AM
To: Kivy users support <kivy-...@googlegroups.com>
Subject: Re: [kivy-users] App must support 16 KB memory page sizes

 

Hi Metin,

--

You received this message because you are subscribed to the Google Groups "Kivy users support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kivy-users+...@googlegroups.com.

pedro h

unread,
May 19, 2026, 4:35:39 PMMay 19
to Kivy users support

Hi Metin,

You're very welcome! Take your time with the updates, and I'll be waiting for your results.

Just out of curiosity: Since I haven't published an app on the Play Store myself yet, I'm always super interested to see how real, live Kivy projects look in production. Under what developer name can I find your apps in the Play Store? I’d love to check them out!

Fingers crossed for your upcoming build and the deadline!

Best regards, Pedro

metin...@gmail.com

unread,
May 20, 2026, 7:58:29 AMMay 20
to kivy-...@googlegroups.com

Hi Pedro,

 

Here is the link of my apps. Both of them made by Kivy. Not so popular though 😊

https://play.google.com/store/apps/developer?id=Metin+Ko%C3%A7

metin...@gmail.com

unread,
May 20, 2026, 8:41:41 PMMay 20
to kivy-...@googlegroups.com

Hi Pedro and everyone,

 

Finally managed one of my app’s bloody “16 KB memory page sizes” issue by using procedures below. Memory page size = Supports 16 KB 😊

 

I am sharing it for those who needed and haven't done this yet.

 

https://github.com/kivy/python-for-android/issues/3165 see account called Japatup shared 3 weeks ago. I exactly followed these steps to get this done.

Also, please see official Buildozer documentation from here  https://buildozer.readthedocs.io/en/latest/installation/#targeting-android for more details.

 

@Pedro, thanks much for your help my friend.

Best,

Metin

pedro h

unread,
May 21, 2026, 2:58:55 AMMay 21
to Kivy users support

Hi Metin,

That is great news! I am very happy for you that you solved the 16 KB page size issue and successfully updated your apps before the deadline.

Seeing that green checkmark in the Google Play Console must be a huge relief.

I actually already checked out your apps in the Play Store. It is really cool that you already have your own projects live out there. It definitely motivates me to try publishing something myself in the future.

Thank you also for sharing the exact solution and the links with the community. I wish you the best of luck and continued success with your apps!

Best regards, Pedro

berk berk

unread,
Jun 5, 2026, 8:27:51 PMJun 5
to Kivy users support
Just for update, if someone face this problem:
*i checked mine, 16KB size problem extended till 2027, 1st Feb. on Google Play Console.

Also when i used;
buildozer==1.6.0(latest)
cython==0.29.33
!sudo apt-get update
!sudo apt install -y git zip unzip openjdk-17-jdk python3-pip autoconf libtool pkg-config zlib1g-dev libncurses5-dev libncursesw5-dev libtinfo5 cmake libffi-dev libssl-dev --fix-missing

i checked it was 16KB and i didn't face any problem while i was upload Google Play Console for new update.

[Source:] https://github.com/mathpathconsole/Kivy-android-apk-with-Google-Colab

21 Mayıs 2026 Perşembe tarihinde saat 09:58:55 UTC+3 itibarıyla pe3...@googlemail.com şunları yazdı:

Lan Le-Dinh

unread,
Jul 17, 2026, 11:16:57 AMJul 17
to kivy-...@googlegroups.com
Hi Pedro
I just tested your latest APK package with an application.
I tried to use python 3.9.
It fails at the SDK step and seems to look for virtual environment 3.11.
Would you please check when you have time. 
I  will test again with python 3.10  and 3.11 to see.
Best regards
Lan

Lan Le-Dinh

unread,
Jul 17, 2026, 11:20:12 AMJul 17
to kivy-...@googlegroups.com
Hi again Pedro
I made a mistake in the config file with the python version.
Please wait for my feedback.
Best regards
Lan

Lan Le-Dinh

unread,
Jul 18, 2026, 6:17:00 AMJul 18
to kivy-...@googlegroups.com
Hi Pedro
I tested this on Windows 11, 25H2 and I seemed to have problem:

#39 0x000073e2f5229e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#40 0x00006250a5bc5bab (/home/lan/.buildozer/android/platform/android-ndk-r28c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang+0x67c5bab)
clang: error: clang frontend command failed with exit code 139 (use -v to see invocation)
Android (13624864, +pgo, +bolt, +lto, +mlgo, based on r530567e) clang version 19.0.1 (https://android.googlesource.com/toolchain/llvm-project 97a699bf4812a18fb657c2779f5296a4ab2694d2)
Target: aarch64-unknown-linux-android21
Thread model: posix
InstalledDir: /home/lan/.buildozer/android/platform/android-ndk-r28c/toolchains/llvm/prebuilt/linux-x86_64/bin
clang: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/parser-7635ad.c
clang: note: diagnostic msg: /tmp/parser-7635ad.sh
clang: note: diagnostic msg:

********************
make: *** [Makefile:3276: Parser/parser.o] Error 1


  STDERR:

# Command failed: ['/home/lan/.buildozer_venv_3.11/bin/python3.11', '-m', 'pythonforandroid.toolchain', 'create', '--dist_name=init', '--bootstrap=sdl2', '--requirements=python3', '--arch=arm64-v8a', '--arch=armeabi-v7a', '--copy-libs', '--color=always', '--storage-dir=/home/lan/.sdk_fix/.buildozer/android/platform/build-arm64-v8a_armeabi-v7a', '--ndk-api=21', '--ignore-setup-py', '--debug']
# ENVIRONMENT:
#     SHELL = '/bin/bash'
#     WSL2_GUI_APPS_ENABLED = '1'
#     WSL_DISTRO_NAME = 'Ubuntu-22.04'
#     WT_SESSION = '028c3279-58cc-4f76-94f6-24b18ecc6946'
#     ANDROIDAPI = '33'
#     NAME = 'LAPTOP-29RTBMLE'
#     PWD = '/home/lan/.sdk_fix'
#     LOGNAME = 'lan'
#     HOME = '/home/lan'
#     LANG = 'C.UTF-8'
#     WSL_INTEROP = '/run/WSL/336_interop'
#     VIRTUAL_ENV = '/home/lan/.buildozer_venv_3.11'
#     WAYLAND_DISPLAY = 'wayland-0'
#     TERM = 'xterm-256color'
#     USER = 'lan'
#     DISPLAY = ':0'
#     SHLVL = '1'
#     VIRTUAL_ENV_PROMPT = '(.buildozer_venv_3.11) '
#     XDG_RUNTIME_DIR = '/run/user/1000'
#     PS1 = '(.buildozer_venv_3.11) '
#     WSLENV = 'WT_SESSION:WT_PROFILE_ID:'
#     PATH = ('/home/lan/.buildozer/android/platform/apache-ant-1.9.4/bin:/home/lan/.buildozer_venv_3.11/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Program '
 'Files/NVIDIA GPU Computing Toolkit/CUDA/v12.0/bin:/mnt/c/Program '
 'Files/NVIDIA GPU Computing Toolkit/CUDA/v12.0/libnvvp:/mnt/c/Program '
 'Files/NVIDIA GPU Computing Toolkit/CUDA/v11.8/bin:/mnt/c/Program '
 'Files/NVIDIA GPU Computing Toolkit/CUDA/v11.8/libnvvp:/mnt/c/Program '
 'Files/NVIDIA GPU Computing Toolkit/CUDA/v12.4/bin:/mnt/c/Program '
 'Files/NVIDIA GPU Computing Toolkit/CUDA/v12.4/libnvvp:/mnt/c/Program Files '
 '(x86)/Common Files/Intel/Shared Libraries/bin32:/mnt/c/Program Files '
 '(x86)/Common Files/Intel/Shared '
 'Libraries/bin:/mnt/c/Windows/system32:/mnt/c/Windows:/mnt/c/Windows/System32/Wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows/System32/OpenSSH/:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Users/Lenovo '
 'T15g/AppData/Local/Microsoft/WindowsApps:/mnt/c/Program '
 'Files/Acustica/Framework:/mnt/c/Program '
 'Files/dotnet/:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/tools/gsudo/Current:/mnt/c/Program '
 'Files (x86)/NVIDIA Corporation/PhysX/Common:/mnt/c/Program Files '
 '(x86)/QuickTime/QTSystem/:/mnt/c/FFMPEG7:/mnt/c/Program '
 'Files/Git/cmd:/mnt/c/Program Files/NVIDIA Corporation/Nsight Compute '
 '2022.4.0/:/mnt/c/Program Files/NVIDIA Corporation/NVIDIA '
 'App/NvDLISR:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Program '
 'Files/Common Files/Merging Technologies/MTCommon:/mnt/c/Program '
 'Files/PowerShell/7/:/mnt/c/Users/Lenovo '
 'T15g/AppData/Local/Programs/Python/Python39/Scripts/:/mnt/c/Users/Lenovo '
 'T15g/AppData/Local/Programs/Python/Python39/:/mnt/c/Users/Programs/Python/Python310/Scripts/:/mnt/c/Users/Programs/Python/Python310/:/mnt/c/Users/Lenovo '
 'T15g/scoop/shims:/mnt/c/tools/neovim/nvim-win64/bin:/mnt/c/Users/Lenovo '
 'T15g/AppData/Local/Programs/oh-my-posh/bin:/mnt/c/Users/Lenovo '
 'T15g/Documents/PowerShell/Scripts:/mnt/c/Program '
 'Files/Git/mingw64/bin:/mnt/c/ProgramData/anaconda3/Scripts:/mnt/c/Users/Lenovo '
 'T15g/AppData/Local/GitHubDesktop/bin')
#     DBUS_SESSION_BUS_ADDRESS = 'unix:path=/run/user/1000/bus'
#     HOSTTYPE = 'x86_64'
#     PULSE_SERVER = 'unix:/mnt/wslg/PulseServer'
#     WT_PROFILE_ID = '{3ad42e7b-e073-5f3e-ac57-1c259ffa86a8}'
#     OLDPWD = '/home/lan'
#     _ = '/home/lan/.buildozer_venv_3.11/bin/buildozer'
#     PACKAGES_PATH = '/home/lan/.buildozer/android/packages'
#     ANDROIDSDK = '/home/lan/.buildozer/android/platform/android-sdk'
#     ANDROIDNDK = '/home/lan/.buildozer/android/platform/android-ndk-r28c'
#     ANDROIDMINAPI = '21'
#
# Buildozer failed to execute the last command
# The error might be hidden in the log above this error
# Please read the full log, and search for it before
# raising an issue with buildozer itself.
# In case of a bug report, please add a full log with log_level = 2
>>> SDK installation finished

Lan Le-Dinh

unread,
Jul 18, 2026, 6:18:33 AMJul 18
to kivy-...@googlegroups.com
Even though I tested with a simple test program.
I wanted to make sure before I sent you the error messages.
Best regards
Lan

pedro h

unread,
Jul 18, 2026, 8:47:31 AMJul 18
to Kivy users support
Hi Lan

Thanks for the detailed log! Quick question first: did you click the "Install SDK" button (on Screen 1) when this error happened? If so, that crash is actually expected and harmless - that step intentionally runs a minimal fake build just to trigger the SDK/NDK download and setup, it's not meant to produce a real APK. Since your log ends with "SDK installation finished", the installation itself completed correctly.

A couple of pointers that might help:

- On Screen 1, there are 5 icon buttons in the top-right corner. The leftmost one (it's just an icon, no label) opens the in-app documentation. It walks through the whole setup process, with separate tabs for Screen 1, Screen 2, and Screen 3 - that should make it clearer what each step does and in what order.

- Please make sure to click "Update MD" at least once - that pulls the latest config files from the server, including the corrected one for the 16 KB / AAB build profile. Without that, you might be working with an outdated config.

One more thing so I can point you in the right direction: are you trying to build an APK or an AAB? The setup steps differ slightly depending on which one you're targeting.

Best regards
Pedro

pedro h

unread,
Jul 18, 2026, 8:52:10 AMJul 18
to Kivy users support
One more thing I forgot to mention: before opening the documentation, make sure to select your language on Screen 1 first - that way the documentation will show up in that language instead of the default.

Lan Le-Dinh

unread,
Jul 18, 2026, 9:33:11 AMJul 18
to kivy-...@googlegroups.com
Hi Pedro
Thanks for your feedback.
I did run the "Install SDK" step and that is the error messages from the log file.
It is good to know what other buttons do.
Your approach is very promising. 
I will let you know more about my testing.
Best regards
Lan


pedro h

unread,
Jul 18, 2026, 9:43:03 AMJul 18
to Kivy users support
Glad to hear it's working well for you so far!

A couple of questions so I can better understand your use case (and help more precisely if anything comes up): are you targeting an APK or an AAB build? And what kind of app are you building - just roughly, so I get a sense of what modules/features matter most to you?

Also, please do keep me posted as you keep testing - detailed feedback like this is genuinely valuable, it's exactly how I find out what needs improving. So don't hesitate to share anything you run into, even small things.

Best regards
Pedro

Lan Le-Dinh

unread,
Jul 18, 2026, 11:37:51 AMJul 18
to kivy-...@googlegroups.com
Hi again Pedro
Thanks for getting back to me.
I am interested in getting an APK. But I ran into a problem, so I tried to reproduce errors by using a simpler application to see if I got the same errors so that you do not need to waste your time doing troubleshooting.
I will continue testing.
Best regards
Lan

Lan Le-Dinh

unread,
Jul 18, 2026, 9:38:18 PMJul 18
to kivy-...@googlegroups.com
Hi Pedro
For some reason I cannot choose the "Build APK" button after I ran "Install Android SDK".
Best regards
Lan

pedro h

unread,
Jul 19, 2026, 3:16:27 AMJul 19
to Kivy users support
The "Build APK" button stays greyed out / non-clickable whenever the active project doesn't have a buildozer.spec file yet - every project needs one.

Do you already have a buildozer.spec in your project folder? If not, you can create one from Screen 3 (there's a button to open the editor and paste in the optimized template). Let me know if you already had one and it still didn't work - then it's likely something else.

Best regards
Pedro

Lan Le-Dinh

unread,
Jul 19, 2026, 3:32:44 AMJul 19
to kivy-...@googlegroups.com
Hi Pedro
I downloaded your buildozer.spec and used it in my project.
But it failed to produce an apk.
I will test again.
Best regards
Lan

Virus-free.www.avast.com

pedro h

unread,
Jul 19, 2026, 3:54:13 AMJul 19
to Kivy users support
Hi Lan

Here's a minimal buildozer.spec you can use as a starting point - just paste it into a new file named buildozer.spec in your project folder (or via the editor on Screen 3), then the "Build APK" button should become clickable.

One thing to watch out for: the icon.filename and presplash.filename lines below point to a data/ folder with image files. If you don't have that folder/images in your project, the build will fail because of this. I've commented those lines out - only uncomment and use them if you want your own custom app icon and splash screen instead of the default Kivy one. If you do want your own, you'll need to create a folder named "data" in your project and put two PNG images in there (one for the icon, one for the splash screen), matching the filenames in those two lines.

[app]
# Name of your app
title = My App
# Package name of your app
# Note: for Android App Bundle (AAB) the file is always named app-playstore.aab.
# You can rename it afterwards.
package.name = myapp
package.domain = org.myapp
# Directory where your main.py is located
source.dir = .
# Files your app needs
source.include_exts = py,png,jpg,kv,atlas,json
# Folders to exclude
source.exclude_dirs = tests, logs, bin, dist, patches, .venv, venv, env, .env, .buildozer
# Version of your app
version = 0.1
# ==========================================================
# STEP 1: CHOOSE FORMAT (APK OR AAB)
# ==========================================================
# APK:
#   android.release_artifact = apk
#   playstore_build = 0
#
# AAB:
#   android.release_artifact = aab
#   playstore_build = 1
android.release_artifact = apk
playstore_build = 0
# Screen orientation: portrait, landscape, or all
orientation = portrait
# Without bottom status bar (fullscreen = 1), with bottom status bar (fullscreen = 0)
fullscreen = 1
# Only needed if you want your own custom icon/splash image instead of Kivy's default.
# Requires a "data" folder in your project with two PNGs (icon + splash) matching these names.
# Uncomment only if that folder/files exist, otherwise the build fails.
#icon.filename = %(source.dir)s/data/icon.png
#presplash.filename = %(source.dir)s/data/presplash.png
#presplash.color = #000000
# ==========================================================
# STEP 2: MODULES / REQUIREMENTS
# ==========================================================
# Essential modules + KivyMD + Async + standard tools
# Note: materialyoucolor is pulled from GitHub master, not PyPI - this avoids
# a version mismatch with KivyMD's master branch (ModuleNotFoundError otherwise)
requirements = python3, kivy==2.3.1, https://github.com/kivymd/KivyMD/archive/master.zip, https://github.com/T-Dynamos/materialyoucolor-python/archive/master.zip, pillow, filetype, pyjnius, asynckivy, asyncgui
# ==========================================================
# STEP 3: ANDROID SYSTEM SETTINGS
# ==========================================================
# Optimized for API 36 + 16 KB page size support
android.api = 36
android.minapi = 24
android.targetsdk = 36
android.ndk = 29
android.ndk_api = 24
android.archs = arm64-v8a
android.accept_sdk_license = True
# Keep this active
p4a.branch = develop
# IMPORTANT: no Kivy app starts without SDL2
p4a.bootstrap = sdl2
android.enable_androidx = True
android.enable_multidex = True
android.gradle_repositories = https://maven.google.com
# Most stable build (arm64-v8a only)
android.gradle_options = [
    "android.defaultConfig.ndk.abiFilters=arm64-v8a"
]
# ==========================================================
# STEP 4: CAMERAX & ML KIT (OPTIONAL)
# ==========================================================
# Only enable if you use CameraX, ML Kit, or your own Java code.
# Path to your own Java files
# Remove the # if you use Java files (camera, microphone, etc.)
#android.add_src = ./java_sources
#---------------------------------------------------------
# CameraX + ML Kit dependencies
# Uncomment the line below for camera features.
# For face detection (ML Kit) add 'com.google.mlkit:face-detection:16.1.7'
#android.gradle_dependencies = androidx.camera:camera-core:1.4.1, androidx.camera:camera-camera2:1.4.1, androidx.camera:camera-lifecycle:1.4.1, androidx.camera:camera-view:1.4.1, androidx.camera:camera-extensions:1.4.1, org.jetbrains.kotlin:kotlin-stdlib:1.9.24
# Proguard for AAB (protects your Java code in the AAB build)
# must be created in your project folder as proguard-rules.pro
# Example, if you use the CameraX module, proguard-rules.pro needs:
# -keep class org.kivy.camerax.** { *; }
#android.proguard_rules = proguard-rules.pro
# ==========================================================
# STEP 5: PERMISSIONS
# ==========================================================
# Add whichever permissions your app needs
# For microphone add RECORD_AUDIO
# Example:
#android.permissions = CAMERA, INTERNET
# ==========================================================
# BUILD CONFIGURATION
# ==========================================================
[buildozer]
log_level = 2
warn_on_root = 1

Let me know if the Build APK button becomes active after adding this.

Best regards
Pedro

Lan Le-Dinh

unread,
Jul 19, 2026, 7:27:23 AMJul 19
to kivy-...@googlegroups.com
Hi again Pedro
Thanks for your quick reply.
I copied and pasted your latest buildozer.spec and it works perfectly.
I really appreciate your effort and your help.
Best regards
Lan

Virus-free.www.avast.com

pedro h

unread,
Jul 19, 2026, 10:58:30 AMJul 19
to Kivy users support
Glad to hear it's working perfectly now!

One more thing I wanted to mention: in the next few days there will be an update to the documentation. It will cover the Modules section in detail - for example, how simply checking the CameraX checkbox automatically gives you camera access (this part already works today: the required files get copied into your project automatically, and the dependencies get written directly into your buildozer.spec, no manual editing needed).

The documentation update will explain, step by step, how to actually use the camera, text-to-speech, and speech-to-text from your own Python code once the module files are in your project - plus a few more things that will be added along the way.

If you ever feel like experimenting with camera, speech recognition, or text-to-speech, you can actually build yourself an assistant that talks to you and listens - all through these modules. I'll also be adding an example based on TAU, my own voice assistant app: it's a customer-data app where you speak entries out loud - name, email, phone number, a note - and everything gets filled in via AI + speech-to-text, no typing needed. You can even have small talk with the AI while you're at it, all without touching the keyboard.

If that sounds interesting, just let me know - I'd genuinely be happy if someone gave it a try.

Thanks again for testing so thoroughly, it really helps me improve the tool.

Best regards
Pedro

Lan Le-Dinh

unread,
Jul 19, 2026, 1:36:24 PMJul 19
to kivy-...@googlegroups.com
I tested with three applications and they all work fine.
Thanks for your help.
I will be testing your apps too.
Best regards
Lan

Virus-free.www.avast.com

Lan Le-Dinh

unread,
Jul 21, 2026, 2:47:11 AM (13 days ago) Jul 21
to kivy-...@googlegroups.com
Hi Pedro
Your application can convert a Kivy app to an apk file.
But I cannot run some apk file on the Mumu emulator or on my android phone.
Is it the buildozer file that causes the problem?
Best regards
Lan


Virus-free.www.avast.com
Message has been deleted
Message has been deleted

pedro h

unread,
Jul 21, 2026, 9:42:41 AM (13 days ago) Jul 21
to Kivy users support

Hi Lan,

Awesome, thanks for clarifying that! If some of your apps are launching without any issues, we can definitely rule out hardware problems or Android API 36 conflicts. That's actually great news!

When only specific apps crash right after opening, it’s almost always down to missing Python requirements in that project's buildozer.spec.

Here is what usually happens: If your app's code imports an external library (like requests, urllib3, pillow, numpy, etc.) that isn't explicitly listed in the requirements line of your buildozer.spec, APK Builder Studio will still successfully build the APK. However, the moment you open the app on your device, Python crashes in the background with a ModuleNotFoundError.

Could you check the Python code of those crashing apps? Just look at all the import statements at the top of your files and make sure every external library is added to the requirements line in your buildozer.spec, like this:

requirements = python3, kivy==2.3.1, requests, pillow

Once you add the missing packages to the spec and rebuild using APK Builder Studio, those apps should launch right up!

Let me know if updating the requirements fixes it for those specific apps!

Best regards, Pedro

pedro h

unread,
Jul 21, 2026, 5:01:44 PM (13 days ago) Jul 21
to Kivy users support
Hi Lan,

Great that you already narrowed it down to specific apps crashing - that's very useful.

Actually, this is perfect timing: APK Builder Studio now has a built-in Debug screen that will make this kind of troubleshooting much easier going forward. Currently it lets you:

1. Connect to your phone wirelessly over WLAN to view live logs (installing the APK itself still requires USB for now)
2. Stream a live Logcat feed filtered to Python output - so you'll see the exact ModuleNotFoundError (or any other crash) the moment it happens, right in the app's log window

To get this new feature, first update APK Builder Studio to the latest version: click the update button (it's the second button from the left of the five buttons in the top-right corner) to install the new version.

How to use the Debug screen:
1. On your Android phone, go to Settings > Developer Options > Wireless debugging and turn it on
2. In APK Builder Studio's Debug screen, click "Auto-Detect" - this finds your phone's current IP:Port automatically
3. Click "Connect", then "Start Logcat"
4. Important: start Logcat first, then open/launch the app on your phone afterward - if you open the app before Logcat is running, you'll miss the crash output from the very start

One thing to check on the Windows side: for Auto-Detect to find your phone, your PC's WLAN network needs to be set to "Private" rather than "Public" in Windows network settings - otherwise Windows blocks the discovery traffic. You can check/change this under Settings > Network & Internet > Wi-Fi > (your network) > Network profile type.

With this running, if one of your apps crashes again, the Logcat window should show you the exact Python traceback (like the ModuleNotFoundError we talked about) instead of you having to guess. That should make it much faster to spot missing requirements or any other issue.

Let me know how it goes!

Best regards,
Pedro

Lan Le-Dinh

unread,
Jul 24, 2026, 3:16:23 PM (10 days ago) Jul 24
to kivy-...@googlegroups.com
Hi Pedro
Your app cannot detect my phone automatically.
Can I use the "Connect" button? I need to know the port.
Best regards
Lan

pedro h

unread,
Jul 24, 2026, 6:14:50 PM (10 days ago) Jul 24
to Kivy users support
Hi Lan

First and most important: your phone and your PC need to be on the same WLAN network - Auto-Detect (and wireless debugging in general) won't work across different networks.

If that's the case and Auto-Detect still doesn't find your phone, try turning Wireless debugging off and back on again, then click Auto-Detect once more - that usually fixes it for me too. After clicking Auto-Detect, watch the terminal/log window - your device should show up there with its number. Once you see your device listed, click "Connect".

If that still doesn't work, you can use "Connect" directly with the IP and port entered manually:
1. Go to Settings > Developer options > Wireless debugging
2. You may need to press and hold on "Wireless debugging" for its details screen to open
3. At the top you'll see something like "IP address & Port", e.g. 192.168.1.23:37421 - that's your device's number, enter it in the Connect field

Note: this port changes every time you turn Wireless debugging off and on again, so if it stops connecting later, just check that screen again for the current port.

Also, quick check on the Auto-Detect issue in general: is your PC's Wi-Fi network set to "Private" (not "Public") in Windows? That's under Settings > Network & Internet > Wi-Fi > (your network) > Network profile type - if it's set to Public, Windows blocks the discovery traffic and Auto-Detect won't find your phone.

Let me know how it goes.

Best regards
Pedro

pedro h

unread,
Jul 24, 2026, 6:18:23 PM (10 days ago) Jul 24
to Kivy users support
One more thing I forgot to mention: the first time you connect, a popup should appear on your PC (likely a Windows Firewall prompt) asking you to allow network access for the app. Make sure to click "Allow" there - if you dismiss it or block it, the connection won't go through.

pedro h

unread,
Jul 25, 2026, 9:29:53 AM (9 days ago) Jul 25
to Kivy users support
Quick heads-up: there was a temporary bug on my end in the update-check code, which may have affected both the automatic check AND the manual update button - so clicking the update button might not have worked either, depending on which version you have.

To be safe, could you download the latest version directly from here instead:
https://github.com/PedroHSA0802/apk-builder-studio/releases/download/v1.0.0-beta/setup-apk-builder-studio.exe

Just run that installer over your current install. Sorry for the extra step - this should be fully fixed now going forward, both for the automatic check and the button.

On a more positive note: this version also adds USB debugging to the Debug screen, alongside the existing Wireless option. If your phone is connected via USB with USB debugging enabled, you can now just click "Detect USB" instead of dealing with IP/Port - it should find your device automatically, and everything else (installing, Logcat) works exactly the same way afterward.

Best regards
Pedro

Lan Le-Dinh

unread,
Jul 25, 2026, 2:05:50 PM (9 days ago) Jul 25
to kivy-...@googlegroups.com
Hi Pedro
Thanks for the new version.
I just tested it. It could detect my android phone but it could not connect to it via port 5555.
Best regards
Lan

Virus-free.www.avast.com

pedro h

unread,
Jul 25, 2026, 2:30:33 PM (9 days ago) Jul 25
to kivy-...@googlegroups.com

Hi Lan,

Thank you for your feedback and for testing the new version!

No need to worry: the error message regarding port 5555 is purely cosmetic. It does not affect the app's functionality in any way.

Even though this message appears, you can still:

  • Install APK and AAB files as usual.

  • Click "Start Debug" – the debugging session will start and work completely fine.

You can safely ignore the error and proceed with your workflow. Let me know if you run into anything else!

Best regards,

Pedro



You received this message because you are subscribed to a topic in the Google Groups "Kivy users support" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/kivy-users/pKjGe1eXkbQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to kivy-users+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/kivy-users/CAJiM4H99-3hs8XgoXDUt1CAp6ywfb6dnJTwdTu%2B4xUZr1QO2SQ%40mail.gmail.com.

Lan Le-Dinh

unread,
Jul 25, 2026, 2:32:13 PM (9 days ago) Jul 25
to kivy-...@googlegroups.com

ElliotG

unread,
Jul 25, 2026, 3:30:00 PM (9 days ago) Jul 25
to Kivy users support
Pedro,
Your project looks great.  Just an FYI I've shared it on the Kivy discord and the Kivy reddit.
Thanks for contributing to the community!

-Elliot

Lan Le-Dinh

unread,
Jul 25, 2026, 11:59:28 PM (9 days ago) Jul 25
to kivy-...@googlegroups.com
Hi Pedro
I got this error for one application:
Using build env: /home/lan/.buildozer_venv_3.11 (Python 3.11.15)
=== APK BUILD START (Debug Mode) ===
# Check configuration tokens
# Ensure build layout
# Check configuration tokens
# Preparing build
# Check requirements for android
# Search for Git (git)
#  -> found at /usr/bin/git
# Search for Cython (cython)
#  -> found at /home/lan/.buildozer_venv_3.11/bin/cython
# Search for Java compiler (javac)
#  -> found at /usr/lib/jvm/java-17-openjdk-amd64/bin/javac
# Search for Java keytool (keytool)
#  -> found at /usr/lib/jvm/java-17-openjdk-amd64/bin/keytool
# Install platform
# Run ['git', 'config', '--get', 'remote.origin.url']
# Cwd /home/lan/Weather_IO-main/.buildozer/android/platform/python-for-android
https://github.com/kivy/python-for-android.git
# Run ['git', 'branch', '-vv']
# Cwd /home/lan/Weather_IO-main/.buildozer/android/platform/python-for-android
* develop 33598d13 [origin/develop] Merge pull request #3355 from AndreMiras/fix/documentation_links
# Failed to read python-for-android setup.py at /home/lan/Weather_IO-main/.buildozer/android/platform/python-for-android/setup.py

=== Build beendet (Exit 0) ===
Drücke Enter zum Schließen ...

I am not sure if you can fix it.
I have tested it with different python versions.
Best regards
Lan

Virus-free.www.avast.com

pedro h

unread,
Jul 26, 2026, 2:29:14 AM (8 days ago) Jul 26
to kivy-...@googlegroups.com

Hi Lan,

This error happens when the python-for-android cache gets corrupted or incomplete during the download.

You can fix this directly in APK Builder Studio:

  1. Go to Screen 2 and make sure your project is selected.

  2. Go to Screen 3 and click the Clean p4a button.

  3. Start the build again!

This will wipe the corrupted cache so Buildozer can fetch a fresh copy of python-for-android.




Lan Le-Dinh

unread,
Jul 26, 2026, 3:48:52 AM (8 days ago) Jul 26
to kivy-...@googlegroups.com
Pedro
Thanks for your quick help.
It works now, but I got this error message:
[DEBUG]:        ERROR: Could not find a version that satisfies the requirement kivy==2.3.1 (from versions: none)
[DEBUG]:        ERROR: No matching distribution found for kivy==2.3.1
I just wonder what that means.
Best regards
Lan

Virus-free.www.avast.com

pedro h

unread,
Jul 26, 2026, 10:01:14 AM (8 days ago) Jul 26
to Kivy users support

Hi Lan,

Great to hear the clean worked!

For this new error, there are two ways to fix it. You can try either Step 1 or Step 2:

Option 1: The Recommended Fix (easiest)

Open your buildozer.spec file and remove the version number from kivy:

  • Change kivy==2.3.1 to just kivy in your requirements line.

Buildozer will automatically pick and compile the correct recipe for Android.

Option 2: If you specifically need Kivy 2.3.1

If you want to keep kivy==2.3.1, you need to tell Buildozer to use the latest python-for-android updates.

Add or make sure this line is in your buildozer.spec:

  • p4a.branch = develop

After trying either option, just run the build again in APK Builder Studio!

Lan Le-Dinh

unread,
Jul 26, 2026, 10:08:01 AM (8 days ago) Jul 26
to kivy-...@googlegroups.com
Hi Pedro
I found the problem.
I must include all necessary requirements and the correct versions of the requirements in the buildozer file.
Now I got the apk file.
Best regards
Lan

Virus-free.www.avast.com

pedro h

unread,
Jul 26, 2026, 10:15:36 AM (8 days ago) Jul 26
to Kivy users support

Hi Elliot


Thank you so much for sharing it on the Kivy Discord and Reddit - really appreciate it! Glad you like the tool.

And no pressure at all, but if an experienced Kivy dev like yourself ever happens to poke around in it and spots something worth improving, I'd genuinely love to hear about it.


Thanks again!

Pedro

pedro h

unread,
Jul 26, 2026, 10:18:13 AM (8 days ago) Jul 26
to Kivy users support

Hi Lan,

Awesome news! Glad to hear you got it sorted out and successfully built your APK.

Just out of curiosity: Did everything work smoothly in Screen 4 as well when using the Install APK (or AAB) and Start Logcat buttons?

Good luck with your app!

Best regards,

Pedro

Lan Le-Dinh

unread,
Jul 26, 2026, 2:19:17 PM (8 days ago) Jul 26
to kivy-...@googlegroups.com
Hi Pedro
Thanks for getting back to me.
I am experimenting with your app by changing the buildozer file.
It is good to have debugging features. 
I think that you should write errors to an error file in a separate folder e.g. errors so that we can check the errors easier because it is quite tricky to get the buildozer right.
I will give you better feedback later.
Best regards
Lan


Virus-free.www.avast.com

pedro h

unread,
Jul 26, 2026, 6:06:29 PM (8 days ago) Jul 26
to Kivy users support

Hi Lan,

Thanks a lot for the great suggestion! You’re completely right—scrolling through long Buildozer logs to find the exact error can be really tedious.

Having a dedicated errors folder or auto-extracting the build errors into a separate log file would make troubleshooting so much easier. I’m definitely taking note of this for the next update!

I’m really glad you like the debugging features so far. Take your time experimenting, and I’m looking forward to your further feedback!

Best regards,

Pedro

Lan Le-Dinh

unread,
Jul 27, 2026, 7:31:33 AM (7 days ago) Jul 27
to kivy-...@googlegroups.com
Hi Pedro
I want to illustrate what I tried.
I use the following requirements in the buildozer file:
requirements = python3, kivy==2.3.1, https://github.com/kivymd/KivyMD/archive/master.zip, https://github.com/T-Dynamos/materialyoucolor-python/archive/master.zip, pillow, filetype, pyjnius, asynckivy, asyncgui
And I could get an APK file. 
Your "Install APK" works and transfers the file to my Android phone via USB connection.
The problem is I got a black screen when I start the APK. I think that the problem is incompatibility of different softwares involved in producing the APK.
Your app seems to automatically select the versions of these softwares.
I also tried
python==3.11
in the requirements line, but it didn't work i.e. I did not get the APK file.
Of course this is a common problem in software development.
Best regards
Lan

pedro h

unread,
Jul 27, 2026, 4:25:11 PM (7 days ago) Jul 27
to Kivy users support

Hi Lan,

I will be releasing an update for APK Builder Studio in the next 1 to 2 hours that includes a completely overhauled Logcat system!

Please help me test the update: When you open APK Builder Studio in a bit, please let me know if the update pop-up appears automatically at startup and if the download/update process works smoothly for you.

How to test your build with the new update:

  1. Requirements in buildozer.spec: You don't need to specify a Python version like python3.11 in your requirements line! Studio handles the Python environment completely automatically. Just use your normal working spec where the build completes successfully.

  2. Build & Transfer: Run a fresh build and install the APK onto your phone via USB using Studio.

  3. Start Logcat: Before or while opening the app on your phone, start the Logcat stream in Studio.

Why this helps with the black screen: The new Logcat uses precise Process ID (PID) filtering. Instead of cluttering the screen with Android system logs or missing background errors, it captures 100% of your app's internal output. Even if the app doesn't crash and just stays on a black screen, we will now be able to see exact Python tracebacks, missing imports (like KivyMD or materialyoucolor), or render warnings.

Once you've tried it, let me know how the update went and feel free to send over the Logcat output so we can pinpoint why the screen stays black!

Best regards,

Pedro

Lan Le-Dinh

unread,
Jul 28, 2026, 12:39:00 AM (7 days ago) Jul 28
to kivy-...@googlegroups.com
Hi Pedro
Thanks for your efforts to improve the app.
I am happy to help.
Best regards
Lan


Lan Le-Dinh

unread,
Jul 28, 2026, 1:46:35 AM (7 days ago) Jul 28
to kivy-...@googlegroups.com
Hi Pedro
This is what I got:
Success
--------- beginning of main
07-28 07:40:34.075 31245 31291 I python  : Initializing Python for Android
07-28 07:40:34.075 31245 31291 I python  : Setting additional env vars from p4a_env_vars.txt
07-28 07:40:34.075 31245 31291 I python  : Changing directory to '/data/user/0/org.myapp.myapp/files/app'
07-28 07:40:34.075 31245 31291 I python  : symlink: libtvg-svg2pngbin.so -> tvg-svg2png
07-28 07:40:34.075 31245 31291 I python  : symlink: libpythonbin.so -> python
07-28 07:40:34.075 31245 31291 I python  : symlink: libtvg-lottie2gifbin.so -> tvg-lottie2gif
07-28 07:40:34.075 31245 31291 I python  : Preparing to initialize python
07-28 07:40:34.075 31245 31291 I python  : _python_bundle dir exists
07-28 07:40:34.075 31245 31291 I python  : set wchar paths...
07-28 07:40:34.106 31245 31291 I python  : Initialized python
07-28 07:40:34.106 31245 31291 I python  : testing python print redirection
07-28 07:40:34.107 31245 31291 I python  : Android kivy bootstrap done. __name__ is __main__
07-28 07:40:34.180 31245 31291 I python  : [WARNING] [Config      ] Older configuration version detected (0 instead of 27)
07-28 07:40:34.180 31245 31291 I python  : [WARNING] [Config      ] Upgrading configuration in progress.
07-28 07:40:34.180 31245 31291 I python  : [DEBUG  ] [Config      ] Upgrading from 0 to 1
07-28 07:40:34.181 31245 31291 I python  : [INFO   ] [Logger      ] Record log in /data/user/0/org.myapp.myapp/files/app/.kivy/logs/kivy_26-07-28_0.txt
07-28 07:40:34.181 31245 31291 I python  : [INFO   ] [Kivy        ] v2.3.1
07-28 07:40:34.181 31245 31291 I python  : [INFO   ] [Kivy        ] Installed at "/data/user/0/org.myapp.myapp/files/app/_python_bundle/site-packages/kivy/__init__.pyc"
07-28 07:40:34.181 31245 31291 I python  : [INFO   ] [Python      ] v3.14.2 (main, Jul 28 2026, 07:32:37) [Clang 21.0.0 (https://android.googlesource.com/toolchain/llvm-project 5e96669f0
07-28 07:40:34.181 31245 31291 I python  : [INFO   ] [Python      ] Interpreter at "/data/user/0/org.myapp.myapp/files/app/.bin/python"
07-28 07:40:34.182 31245 31291 I python  : [INFO   ] [Logger      ] Purge log fired. Processing...
07-28 07:40:34.182 31245 31291 I python  : [INFO   ] [Logger      ] Purge finished!
07-28 07:40:34.742 31245 31291 I python  : [INFO   ] [Factory     ] 195 symbols loaded
07-28 07:40:34.881 31245 31291 I python  : [INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored)
07-28 07:40:34.892 31245 31291 I python  : [INFO   ] [Text        ] Provider: sdl2
07-28 07:40:34.999 31245 31291 I python  : [INFO   ] [Window      ] Provider: sdl2
07-28 07:40:35.079 31245 31291 I python  : [INFO   ] [GL          ] Using the "OpenGL ES 2" graphics system
07-28 07:40:35.082 31245 31291 I python  : [INFO   ] [GL          ] Backend used <sdl2>
07-28 07:40:35.082 31245 31291 I python  : [INFO   ] [GL          ] OpenGL version <b'OpenGL ES 3.2 V...@0530.53 (GIT@a1cf8ab5e3, I428bf45773, 1699535026) (Date:11/09/23)'>
07-28 07:40:35.082 31245 31291 I python  : [INFO   ] [GL          ] OpenGL vendor <b'Qualcomm'>
07-28 07:40:35.082 31245 31291 I python  : [INFO   ] [GL          ] OpenGL renderer <b'Adreno (TM) 660'>
07-28 07:40:35.082 31245 31291 I python  : [INFO   ] [GL          ] OpenGL parsed version: 3, 2
07-28 07:40:35.082 31245 31291 I python  : [INFO   ] [GL          ] Texture max size <16384>
07-28 07:40:35.083 31245 31291 I python  : [INFO   ] [GL          ] Texture max units <16>
07-28 07:40:35.111 31245 31291 I python  : [INFO   ] [Window      ] auto add sdl2 input provider

Best regards
Lan

pedro h

unread,
Jul 28, 2026, 5:16:06 AM (6 days ago) Jul 28
to Kivy users support

Hi Lan,

I've made further improvements to the Logcat system, which will be part of today's update on the server starting around 11:00. Since you're already on v1.2.3, the auto-updater should now work normally this time — just accept the update prompt when it appears.

To get a Logcat that's specific to your app (instead of the generic system log), here's what to do:

  1. On Screen 2, select the same project folder you used to build your app.
  2. Then go to the Logcat screen and start it as usual.

In this new version, Studio reads your project's buildozer.spec file to figure out exactly which app is running on your phone, so it can filter the log down to just that app's process instead of everything else on the device.

Once you've done that and tested, please send me the full console output again, starting from "Starting Logcat stream" — that way we can see whether it correctly picked up your app's process this time.

Best regards,
Pedro

Lan Le-Dinh

unread,
Jul 28, 2026, 8:20:11 AM (6 days ago) Jul 28
to kivy-...@googlegroups.com
Hi Pedro
This is what I got:
[INFO] Logcat stopped.
[INFO] Starting Logcat stream (Mode: full)...
[INFO] Detected Package Name: org.myapp.myapp
[INFO] Filtering Logcat exclusively for PID: 31528
--------- beginning of system
--------- beginning of system
07-28 14:16:35.299 31528 31528 D OplusInputMethodManagerInternal: get inputMethodManager extension: com.android.internal.view.IInputMethodManager$Stub$Proxy@eab882a
--------- beginning of main
07-28 14:16:35.300 31528 31528 D ViewRootImplExtImpl: the up motion event handled by client, just return
07-28 14:16:39.115 31528 31528 D ViewRootImplExtImpl: the up motion event handled by client, just return
07-28 14:16:42.237 31528 31537 W System  : A resource failed to call MemoryIntArray.close.
07-28 14:17:27.332 31528 31528 D ViewRootImplExtImpl: the up motion event handled by client, just return
07-28 14:17:27.599 31528 31528 D ViewRootImplExtImpl: the up motion event handled by client, just return 

Best regards
Lan

Lan Le-Dinh

unread,
Jul 28, 2026, 8:38:26 AM (6 days ago) Jul 28
to kivy-...@googlegroups.com
Hi Pedro
I got more on the screen:
--- Logcat Console ---
[INFO] Logcat mode set to: full
[INFO] Logcat mode set to: full
[INFO] Installing \\wsl.localhost\Ubuntu-22.04\home\lan\WeatherWidget-main\bin\myapp-0.1-arm64-v8a-debug.apk on 28d2dece...
Performing Streamed Install
Success
[INFO] Logcat mode set to: full

[INFO] Starting Logcat stream (Mode: full)...
[INFO] Detected Package Name: org.myapp.myapp
[INFO] Filtering Logcat exclusively for PID: 31528
[INFO] Logcat mode set to: full

[INFO] Logcat stopped.
[INFO] Starting Logcat stream (Mode: full)...
[INFO] Detected Package Name: org.myapp.myapp
[INFO] Filtering Logcat exclusively for PID: 31528
--------- beginning of system
--------- beginning of system
07-28 14:16:35.299 31528 31528 D OplusInputMethodManagerInternal: get inputMethodManager extension: com.android.internal.view.IInputMethodManager$Stub$Proxy@eab882a
--------- beginning of main
07-28 14:16:35.300 31528 31528 D ViewRootImplExtImpl: the up motion event handled by client, just return
07-28 14:16:39.115 31528 31528 D ViewRootImplExtImpl: the up motion event handled by client, just return
07-28 14:16:42.237 31528 31537 W System  : A resource failed to call MemoryIntArray.close.
07-28 14:17:27.332 31528 31528 D ViewRootImplExtImpl: the up motion event handled by client, just return
07-28 14:17:27.599 31528 31528 D ViewRootImplExtImpl: the up motion event handled by client, just return
07-28 14:19:34.787 31528 31528 D ViewRootImplExtImpl: the up motion event handled by client, just return
07-28 14:19:35.736 31528 31528 D ViewRootImplExtImpl: the up motion event handled by client, just return
07-28 14:19:37.897 31528 31528 D callGcSupression: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[])' on a null object reference
07-28 14:19:37.910 31528 31528 D callGcSupression: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[])' on a null object reference
07-28 14:19:37.912 31528 31528 D ScrollOptim [SceneManager]: updateCurrentActivity: mCurrentActivityName=null, isOptEnable=true, isAnimAheadEnable=true, isFrameInsertEnable=true, InsertNum=1, isEnabledForScrollChanged=false
07-28 14:19:37.913 31528 31528 V PythonActivity: onPause()
07-28 14:19:37.913 31528 31528 V SDL     : onPause()
07-28 14:19:37.932 31528 31542 D VRI[PythonActivity]: dispatchAppVisibility visible:false
07-28 14:19:37.939 31528 31528 D VRI[PythonActivity]: onFocusEvent false
07-28 14:19:37.954 31528 31528 D callGcSupression: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[])' on a null object reference
07-28 14:19:37.960 31528 31528 D VRI[PythonActivity]: setWindowStopped stopped:true
07-28 14:19:37.976 31528 31528 I SurfaceView: 33603131 surfaceDestroyed
07-28 14:19:37.976 31528 31528 V SDL     : surfaceDestroyed()
07-28 14:19:37.976 31528 31528 V SDL     : nativePause()
07-28 14:19:37.976 31528 31528 V SystemSensorManagerExtImpl: unRegisterListener by org.libsdl.app.SDLSurface{200be3b VFE...... .F...... 0,0-1080,2316 aid=1073741824 viewInfo = } and its name is icm4x6xx Accelerometer Non-wakeup
07-28 14:19:38.007 31528 31528 D BufferQueueProducer: [SurfaceView[org.myapp.myapp/org.kivy.android.PythonActivity]#1(BLAST Consumer)1](id:7b2800000001,api:1,p:31528,c:31528) disconnect: api 1
07-28 14:19:38.007 31528 31528 D BufferQueueProducer: [SurfaceView[org.myapp.myapp/org.kivy.android.PythonActivity]#1(BLAST Consumer)1](id:7b2800000001,api:0,p:-1,c:31528) disconnect: api -1
07-28 14:19:38.007 31528 31528 D BLASTBufferQueue: [SurfaceView[org.myapp.myapp/org.kivy.android.PythonActivity]#1](f:0,a:1) destructor()
07-28 14:19:38.007 31528 31528 D BufferQueueConsumer: [SurfaceView[org.myapp.myapp/org.kivy.android.PythonActivity]#1(BLAST Consumer)1](id:7b2800000001,api:0,p:-1,c:31528) disconnect
07-28 14:19:38.009 31528 31528 V SDL     : onStop()
07-28 14:19:38.032 31528 31528 V SDL     : onWindowFocusChanged(): false
07-28 14:19:38.032 31528 31528 V SDL     : nativeFocusChanged()
07-28 14:19:38.042 31528 31528 W VRI[PythonActivity]: Cancelling event (window is stopped):MotionEvent { action=ACTION_CANCEL, actionButton=0, id[0]=1, x[0]=0.0, y[0]=2160.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x20, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=767537663, downTime=767535628, deviceId=4, source=0x1002, displayId=0, eventId=353305555 }
07-28 14:19:38.048 31528 31528 W VRI[PythonActivity]: Cancelling event (window is stopped):MotionEvent { action=ACTION_CANCEL, actionButton=0, id[0]=1, x[0]=0.0, y[0]=2160.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x20, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=767537663, downTime=767535628, deviceId=4, source=0x1002, displayId=0, eventId=353305555 }
07-28 14:19:38.049 31528 31528 W VRI[PythonActivity]: Cancelling event (window is stopped):MotionEvent { action=ACTION_CANCEL, actionButton=0, id[0]=1, x[0]=0.0, y[0]=2160.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x20, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=767537663, downTime=767535628, deviceId=4, source=0x1002, displayId=0, eventId=353305555 }
07-28 14:19:38.057 31528 31528 D OpenGLRenderer: RenderProxy::destroy: this=0xb4000076e9904500, mContext=0xb4000076e8adfac0
07-28 14:19:38.058 31528 31548 D OpenGLRenderer: SkiaOpenGLPipeline::setSurface: this=0xb4000076e8a98a00, surface=NULL
07-28 14:19:38.059 31528 31548 D BufferQueueProducer: [VRI[PythonActivity]#0(BLAST Consumer)0](id:7b2800000000,api:1,p:31528,c:31528) disconnect: api 1
07-28 14:19:38.059 31528 31548 D BLASTBufferQueue: [VRI[PythonActivity]#0](f:0,a:2) destructor()
07-28 14:19:38.059 31528 31548 D BufferQueueConsumer: [VRI[PythonActivity]#0(BLAST Consumer)0](id:7b2800000000,api:0,p:-1,c:31528) disconnect
07-28 14:19:38.060 31528 31528 D ViewRootImplExtImpl: wrapConfigInfoIntoFlags rotation=0, smallestScreenWidthDp=360, relayoutAsync=false, newFlags=23592960, title=org.myapp.myapp/org.kivy.android.PythonActivity
07-28 14:19:38.066 31528 31528 D VRI[PythonActivity]: relayoutWindow result, sizeChanged:false, surfaceControlChanged:true, transformHintChanged:false, mSurfaceSize:Point(1080, 2316), mLastSurfaceSize:Point(1080, 2316), mWidth:1080, mHeight:2316, requestedWidth:1080, requestedHeight:2316, transformHint:0, lastTransformHint:0, installOrientation:0, displayRotation:0, isSurfaceValid:false, attr.flag:-2122251008, useBlast:true, tmpFrames:ClientWindowFrames{frame=[0,96][1080,2412] display=[0,96][1080,2412] parentFrame=[0,0][0,0]}
07-28 14:19:38.099 31528 31528 D ViewRootImplExtImpl: wrapConfigInfoIntoFlags rotation=0, smallestScreenWidthDp=360, relayoutAsync=false, newFlags=23592960, title=org.myapp.myapp/org.kivy.android.PythonActivity
07-28 14:19:38.116 31528 31528 D VRI[PythonActivity]: relayoutWindow result, sizeChanged:true, surfaceControlChanged:false, transformHintChanged:false, mSurfaceSize:Point(1080, 2412), mLastSurfaceSize:Point(1080, 2316), mWidth:1080, mHeight:2316, requestedWidth:1080, requestedHeight:2316, transformHint:0, lastTransformHint:0, installOrientation:0, displayRotation:0, isSurfaceValid:false, attr.flag:-2122249984, useBlast:true, tmpFrames:ClientWindowFrames{frame=[0,0][1080,2412] display=[0,0][1080,2412] parentFrame=[0,0][0,0]}
07-28 14:19:39.036 31528 31561 D OplusScrollToTopManager: org.myapp.myapp/org.kivy.android.PythonActivity,This DecorView@3b15f41[PythonActivity] change focus to false
07-28 14:33:28.187 31528 31540 D VRI[PythonActivity]: dispatchAppVisibility visible:true
07-28 14:33:28.189 31528 31528 D callGcSupression: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[])' on a null object reference
07-28 14:33:28.190 31528 31540 D ColorModeChangeItem: preExecute mColorMode=0,token=android.os.BinderProxy@6c67474
07-28 14:33:28.193 31528 31528 D callGcSupression: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[])' on a null object reference
07-28 14:33:28.193 31528 31528 D VRI[PythonActivity]: setWindowStopped stopped:false
07-28 14:33:28.194 31528 31528 V SDL     : onStart()
07-28 14:33:28.194 31528 31528 D ScrollOptim [SceneManager]: updateCurrentActivity: mCurrentActivityName=org.kivy.android.PythonActivity, isOptEnable=true, isAnimAheadEnable=true, isFrameInsertEnable=true, InsertNum=1, isEnabledForScrollChanged=false
07-28 14:33:28.194 31528 31528 D ActivityThread: ComponentInfo{org.myapp.myapp/org.kivy.android.PythonActivity} checkFinished=false 2
07-28 14:33:28.194 31528 31528 D ResourcesManagerExtImpl: applyConfigurationToAppResourcesLocked app.getDisplayId() return callback.displayId:-1
07-28 14:33:28.194 31528 31528 V PythonActivity: onResume()
07-28 14:33:28.194 31528 31528 V SDL     : onResume()
07-28 14:33:28.202 31528 31528 D ViewRootImplExtImpl: wrapConfigInfoIntoFlags rotation=0, smallestScreenWidthDp=360, relayoutAsync=false, newFlags=23592960, title=org.myapp.myapp/org.kivy.android.PythonActivity
07-28 14:33:28.207 31528 31528 D VRI[PythonActivity]: relayoutWindow result, sizeChanged:false, surfaceControlChanged:true, transformHintChanged:false, mSurfaceSize:Point(1080, 2412), mLastSurfaceSize:Point(1080, 2412), mWidth:1080, mHeight:2412, requestedWidth:1080, requestedHeight:2412, transformHint:0, lastTransformHint:0, installOrientation:0, displayRotation:0, isSurfaceValid:true, attr.flag:-2122249984, useBlast:true, tmpFrames:ClientWindowFrames{frame=[0,0][1080,2412] display=[0,0][1080,2412] parentFrame=[0,0][0,0]}
07-28 14:33:28.208 31528 31528 W VRI[PythonActivity]: updateBlastSurfaceIfNeeded, surfaceSize:Point(1080, 2412), lastSurfaceSize:Point(1080, 2412), format:-3, blastBufferQueue:null
07-28 14:33:28.208 31528 31528 D BufferQueueConsumer: [](id:7b2800000002,api:0,p:-1,c:31528) connect: controlledByApp=false
07-28 14:33:28.209 31528 31548 D BufferQueueProducer: [VRI[PythonActivity]#2(BLAST Consumer)2](id:7b2800000002,api:1,p:31528,c:31528) connect: api=1 producerControlledByApp=true
07-28 14:33:28.209 31528 31548 E OpenGLRenderer: Unable to match the desired swap behavior.
07-28 14:33:28.213 31528 31528 D BufferQueueConsumer: [](id:7b2800000003,api:0,p:-1,c:31528) connect: controlledByApp=false
07-28 14:33:28.214 31528 31528 I SurfaceView: 33603131 visibleChanged -- surfaceCreated
07-28 14:33:28.214 31528 31528 V SDL     : surfaceCreated()
07-28 14:33:28.214 31528 31528 V SDL     : surfaceChanged()
07-28 14:33:28.214 31528 31528 V SDL     : Window size: 1080x2184
07-28 14:33:28.214 31528 31528 V SDL     : Device size: 1080x2412
07-28 14:33:28.218 31528 31528 D BufferQueueProducer: [SurfaceView[org.myapp.myapp/org.kivy.android.PythonActivity]#3(BLAST Consumer)3](id:7b2800000003,api:1,p:31528,c:31528) connect: api=1 producerControlledByApp=true
07-28 14:33:28.218 31528 31528 I SDL/APP : pixel format wanted SDL_PIXELFORMAT_RGBA8888 (1), got SDL_PIXELFORMAT_RGBA8888 (1)
07-28 14:33:28.218 31528 31528 D SurfaceView: 33603131 handleSyncNoBuffer
07-28 14:33:28.218 31528 31528 D SurfaceView: 33603131 finishedDrawing
07-28 14:33:28.218 31528 31528 D SurfaceView: 33603131 performDrawFinished mAttachedToWindow true
07-28 14:33:28.220 31528 31528 I SurfaceControl:  setExtendedRangeBrightness sc=Surface(name=org.myapp.myapp/org.kivy.android.PythonActivity)/@0x6330317,currentBufferRatio=1.0,desiredRatio=1.0
07-28 14:33:28.221 31528 31528 D SurfaceView: 33603131 dispatchDraw mDrawFinished true isAboveParent false (mPrivateFlags & PFLAG_SKIP_DRAW) 128
07-28 14:33:28.221 31528 31528 D SurfaceView: 33603131 clearSurfaceViewPort mCornerRadius 0.0
07-28 14:33:28.224 31528 31548 D BLASTBufferQueue: [VRI[PythonActivity]#2](f:0,a:1) acquireNextBufferLocked size=1080x2412 mFrameNumber=1 applyTransaction=true mTimestamp=768367921595326(auto) mPendingTransactions.size=0 graphicBufferId=135411728908295 transform=0
07-28 14:33:28.224 31528 31548 D VRI[PythonActivity]: Received frameCommittedCallback lastAttemptedDrawFrameNum=1 didProduceBuffer=true syncBuffer=false
07-28 14:33:28.224 31528 31528 D VRI[PythonActivity]: draw finished.
07-28 14:33:28.224 31528 31528 D VRI[PythonActivity]: reportDrawFinished
07-28 14:33:28.225 31528 31528 D ViewRootImplExtImpl: setMaxDequeuedBufferCount: 2
07-28 14:33:28.225 31528 31528 W VRI[PythonActivity]: handleResized abandoned!
07-28 14:33:28.225 31528 31528 I Quality : Skipped: false 1 cost 15.969579 refreshRate 8345542 bit true processName org.myapp.myapp
07-28 14:33:28.306 31528 31528 D VRI[PythonActivity]: onFocusEvent true
07-28 14:33:28.306 31528 31528 V SDL     : onWindowFocusChanged(): true
07-28 14:33:28.306 31528 31528 V SDL     : nativeResume()
07-28 14:33:28.306 31528 31528 V SystemSensorManagerExtImpl: RegisterListener icm4x6xx Accelerometer Non-wakeup type:1 delay:20000us by org.libsdl.app.SDLSurface{200be3b VFE...... .F...... 0,0-1080,2184 aid=1073741824 viewInfo = } from org.myapp.myapp
07-28 14:33:28.807 31528 31528 V SDL     : nativeFocusChanged()
07-28 14:33:28.811 31528 31528 I Choreographer: Skipped 60 frames!  The application may be doing too much work on its main thread.
07-28 14:33:28.811 31528 31528 I Quality : Skipped: false 60 cost 502.08292 refreshRate 8343717 bit true processName org.myapp.myapp
07-28 14:33:28.813 31528 31528 D ViewRootImplExtImpl: wrapConfigInfoIntoFlags rotation=0, smallestScreenWidthDp=360, relayoutAsync=false, newFlags=23592960, title=org.myapp.myapp/org.kivy.android.PythonActivity
07-28 14:33:28.815 31528 31556 D BLASTBufferQueue: [SurfaceView[org.myapp.myapp/org.kivy.android.PythonActivity]#3](f:0,a:1) acquireNextBufferLocked size=1080x2184 mFrameNumber=1 applyTransaction=true mTimestamp=768368513030222(auto) mPendingTransactions.size=0 graphicBufferId=135411728908299 transform=0
07-28 14:33:28.827 31528 31528 D VRI[PythonActivity]: relayoutWindow result, sizeChanged:true, surfaceControlChanged:false, transformHintChanged:false, mSurfaceSize:Point(1080, 2316), mLastSurfaceSize:Point(1080, 2412), mWidth:1080, mHeight:2412, requestedWidth:1080, requestedHeight:2412, transformHint:0, lastTransformHint:0, installOrientation:0, displayRotation:0, isSurfaceValid:true, attr.flag:-2122251008, useBlast:true, tmpFrames:ClientWindowFrames{frame=[0,96][1080,2412] display=[0,96][1080,2412] parentFrame=[0,0][0,0]}
07-28 14:33:28.827 31528 31528 W VRI[PythonActivity]: updateBlastSurfaceIfNeeded, surfaceSize:Point(1080, 2316), lastSurfaceSize:Point(1080, 2412), format:-3, blastBufferQueue:android.graphics.BLASTBufferQueue@492efef
07-28 14:33:28.828 31528 31528 V SDL     : surfaceChanged()
07-28 14:33:28.828 31528 31548 D BufferQueueProducer: [VRI[PythonActivity]#2(BLAST Consumer)2](id:7b2800000002,api:1,p:31528,c:31528) disconnect: api 1
07-28 14:33:28.828 31528 31528 V SDL     : Window size: 1080x2316
07-28 14:33:28.828 31528 31528 V SDL     : Device size: 1080x2412
07-28 14:33:28.828 31528 31548 D BufferQueueProducer: [VRI[PythonActivity]#2(BLAST Consumer)2](id:7b2800000002,api:1,p:31528,c:31528) connect: api=1 producerControlledByApp=true
07-28 14:33:28.828 31528 31528 D SurfaceView: 33603131 handleSyncNoBuffer
07-28 14:33:28.828 31528 31548 E OpenGLRenderer: Unable to match the desired swap behavior.
07-28 14:33:28.828 31528 31528 D SurfaceView: 33603131 finishedDrawing
07-28 14:33:28.828 31528 31528 D SurfaceView: 33603131 performDrawFinished mAttachedToWindow true
07-28 14:33:28.829 31528 31528 I SurfaceControl:  setExtendedRangeBrightness sc=Surface(name=org.myapp.myapp/org.kivy.android.PythonActivity)/@0x6330317,currentBufferRatio=1.0,desiredRatio=1.0
07-28 14:33:28.829 31528 31528 D SurfaceView: 33603131 dispatchDraw mDrawFinished true isAboveParent false (mPrivateFlags & PFLAG_SKIP_DRAW) 128
07-28 14:33:28.829 31528 31528 D SurfaceView: 33603131 clearSurfaceViewPort mCornerRadius 0.0
07-28 14:33:28.832 31528 31548 D BLASTBufferQueue: [VRI[PythonActivity]#2](f:0,a:2) producer disconnected before acquireNextBufferLocked
07-28 14:33:28.833 31528 31548 D VRI[PythonActivity]: Received frameCommittedCallback lastAttemptedDrawFrameNum=11 didProduceBuffer=true syncBuffer=true
07-28 14:33:28.833 31528 31528 D VRI[PythonActivity]: draw finished.
07-28 14:33:28.833 31528 31528 D VRI[PythonActivity]: reportDrawFinished
07-28 14:33:28.835 31528 31528 D InsetsController: notifyFinished. No animation running, is it cancelled in controlAnimationUnchecked?
07-28 14:33:28.835 31528 31528 I Quality : Skipped: false 2 cost 17.057758 refreshRate 8345249 bit true processName org.myapp.myapp
07-28 14:33:28.841 31528 31528 W VRI[PythonActivity]: handleResized, msg:5, frameChanged:false, configChanged:false, displayChanged:false, attachedFrameChanged:false, compatScaleChanged:false, pendingDragResizing=false
07-28 14:33:28.844 31528 31528 D ViewRootImplExtImpl: wrapConfigInfoIntoFlags rotation=0, smallestScreenWidthDp=360, relayoutAsync=true, newFlags=23592960, title=org.myapp.myapp/org.kivy.android.PythonActivity
07-28 14:33:28.844 31528 31528 D VRI[PythonActivity]: relayoutWindow result, sizeChanged:false, surfaceControlChanged:false, transformHintChanged:false, mSurfaceSize:Point(1080, 2316), mLastSurfaceSize:Point(1080, 2316), mWidth:1080, mHeight:2316, requestedWidth:1080, requestedHeight:2316, transformHint:0, lastTransformHint:0, installOrientation:0, displayRotation:0, isSurfaceValid:true, attr.flag:-2122251008, useBlast:true, tmpFrames:ClientWindowFrames{frame=[0,96][1080,2412] display=[0,96][1080,2412] parentFrame=[0,96][1080,2412] parentClippedByDisplayCutout}
07-28 14:33:28.844 31528 31528 W VRI[PythonActivity]: updateBlastSurfaceIfNeeded, surfaceSize:Point(1080, 2316), lastSurfaceSize:Point(1080, 2316), format:-3, blastBufferQueue:android.graphics.BLASTBufferQueue@492efef
07-28 14:33:28.844 31528 31528 I SurfaceControl:  setExtendedRangeBrightness sc=Surface(name=org.myapp.myapp/org.kivy.android.PythonActivity)/@0x6330317,currentBufferRatio=1.0,desiredRatio=1.0
07-28 14:33:28.845 31528 31548 D VRI[PythonActivity]: Received frameCommittedCallback lastAttemptedDrawFrameNum=12 didProduceBuffer=false syncBuffer=false
07-28 14:33:28.845 31528 31528 D VRI[PythonActivity]: draw finished.
07-28 14:33:28.845 31528 31528 D VRI[PythonActivity]: reportDrawFinished
07-28 14:33:29.312 31528 31561 D OplusScrollToTopManager: org.myapp.myapp/org.kivy.android.PythonActivity,This DecorView@3b15f41[PythonActivity] change focus to true
07-28 14:33:30.814 31528 31528 D ViewRootImplExtImpl: the up motion event handled by client, just return
07-28 14:33:31.100 31528 31528 D ViewRootImplExtImpl: the up motion event handled by client, just return

Best regards
Lan

pedro h

unread,
Jul 28, 2026, 3:00:30 PM (6 days ago) Jul 28
to Kivy users support
Hi Lan,

Quick update: I've added a new Logcat mode called "Startup" to APK Builder Studio.

What it does: instead of relying purely on PID filtering (which can sometimes miss errors if they end up on a different thread) or dumping everything, it filters directly on the tags python, PythonActivity, SDL, and SurfaceView (shown in full detail), while everything else is limited to errors only. That means any Python traceback during your app's startup should now show up reliably, even in edge cases where PID filtering alone might miss it.

To use it, just click the new "Startup" button next to Python / Errors / Full before starting Logcat.

Separately - looking at your Logcat output, I suspect you might be building the Weather.IO project by Novfensec (https://github.com/Novfensec/Weather.IO). If that's the case, I went through the project myself and found a few things in the project files (nothing to do with Studio) that need adjusting before it'll run properly on Android:

1. main.py - as shipped, it contains hot-reload/dev-only code (PIL.ImageGrab, a fixed window size and position) meant for testing on a PC, not for building for Android. This needs to be swapped for the actual production entry point.

2. View/base_screen.py - there's a class inheritance issue (BaseScreenView(ThemableBehavior, MDScreen, Observer)) that causes a "Cannot create a consistent method resolution order" crash with newer KivyMD versions. Removing ThemableBehavior from that line fixes it.

3. View/HomeScreen/components/weather_api_data.py - ships with a placeholder API key ("your-api-key"). You'll need to swap in your own free OpenWeatherMap API key here, otherwise the app crashes trying to read the weather data. Don't forget this step!

I'll upload the corrected Weather.IO folder to my GitHub, in the same place where APK Builder Studio itself is hosted, so you can see the changes directly there. My working buildozer.spec will be in there too (or I can just post it here on Google Groups directly, whichever's easier). Just remember to still enter your own API key in weather_api_data.py, since I obviously can't upload mine.

Try the new Startup Logcat filter together with these fixes - hopefully we'll get an actual working screen this time!

Best regards,
Pedro

Lan Le-Dinh

unread,
Jul 28, 2026, 6:33:58 PM (6 days ago) Jul 28
to kivy-...@googlegroups.com
Hi Pedro
Thanks for your efforts to try to resolve this issue.
I tried your Weatherapp and I got this output:
--- Logcat Console ---
[INFO] Using adb: C:\PROGRA~2\APKBUI~1\adb.exe
[INFO] Logcat mode set to: startup
[INFO] Searching for USB-connected devices...
[INFO] USB device found: 28d2dece
[INFO] Installing \\wsl.localhost\Ubuntu-22.04\home\lan\Wheatherapp\bin\myapp-0.1-arm64-v8a-debug.apk on 28d2dece...
Performing Streamed Install
Success
[INFO] Logcat mode set to: startup
[INFO] Starting Logcat stream (Mode: startup)...

[INFO] Detected Package Name: org.myapp.myapp
[WARN] App process not found (not running yet?) — falling back to tag-based filter, not PID-exclusive.
--------- beginning of main
07-29 00:27:11.112  5342  5366 E horae   : 0: back:27219,frame:26220,front:25920, 0, +(2081), 0 ,27500,31317,29779,29300
07-29 00:27:13.914  4418  4418 E PhoneInterfaceManager: [PhoneIntfMgr] queryModemActivityInfo: invalid response
07-29 00:27:13.920  2607  2644 E QmiVsClient: sendAsyncRequest QMI_VS_SET_SYNC_WITH_AP_REQ_MSG_V01 ret 0
07-29 00:27:13.931  4459  4863 E PowerMitigationService: onPowerKpiChanged():SettleObj{ what=LO date=07-29 00:27:13.925 duration=1121 screenOnRatio=0 screenOffRatio=0 power=0 current=0 networkType=null dataNetworkType=0 signalStrength=0 aodState=0 softAp=false charge=false simCount=0 defaultPhone=0 apssSleepC=0 apssSleepRatio=0 mpssSleepC=0 mpssSleepRatio=0 vminSleepC=0 vminSleepRatio=0 vlowSleepC=0 vlowSleepRatio=0 modemPowermA[]=[30,32,23,15,37,52] sleepRatio=90,12 idleRatio=0,89 rxRatio=8,85 5gRxRatio=0 txSumRatio=0,14 txRatio[]=[80,20,9,59,9,53,0,68,0] 5gTxRatioSIM1=[0,0,0,0,0,0,0,0] 5gTxRatioSIM2=[0,0,0,0,0,0,0,0] techRatio[]=[0,0,0,0,0,8,53,0,0,0]5gTxSumRatio=0 rrcConn10sC[]=[0, 0] rrcConn20sC[]=[0, 0] rrcConnMore20sC[]=[0, 0] rrcConnC[]=[0, 0] csChangedC[]=[0, 0] psChangedC[]=[0, 0] nwSrchC[]=[0, 0] nwSrchRatio[]=[0,0] lteRrcConnRatio[]=[0,0] psRegRatio[]=[0,100,04] csRegRatio[]=[0,100,04] psNoRegRatio[]=[100,04,0] csNoRegRatio[]=[100,04,0] sigGrid0Ratio[]=[0,0] endcActRatio[]=[0,7,13] saActRatio[]=[0,0] gpsRatio=0,01 wlanRatio=0 qrtrWakeupC={} allWakeupC={} appInWakeupC={} appOutWakeupC={} appWakeupRatio={} appTrafficC={} regReqFbC=[0, 0] regReqTransAcqDbC=[0, 0] saRrcConn10sC[]=[0, 0] saRrcConn20sC[]=[0, 0] saRrcConnMore20sC[]=[0, 0] saRrcConnC[]=[0, 0] lteHoC[]=[0, 0] saHoC[]=[0, 0] saRrcConnRatio[]=[0,0] lteBandRatiosim0[]=[0,0,0,0,0,0,0,0,0] lteBandRatiosim1[]=[0,0,0,0,0,0,0,0,0] nrBandRatiosim0[]=[0,0,0,0,0,0,0,0] nrBandRatiosim1[]=[0,0,0,0,0,0,0,0] sensorStationaryC=0 sensorStationaryT=0 modemStationaryC=1 modemStationaryT=2068 cellUpdateC[]=[0, 1] iRatC[]=[0, 0]}
07-29 00:27:14.027   871 23345 E android.system.suspend-service: Error opening kernel wakelock stats for: wakeup15 (../../devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-00/c440000.qcom,spmi:qcom,pmk8350@0:rtc@6100/rtc/rtc0/wakeup15): Permission denied
07-29 00:27:14.046  1143 19305 E TetherController: property_get sys.radio.data.modem_share_flag return 0, 1!
--------- beginning of system
07-29 00:27:17.160  2220  3882 E OAPM    : activity preload is not enabled
07-29 00:27:21.973  1330  5705 E sensors-hal: handle_sns_client_event:58, amd_event: report_ts=2207,state=2.000000, ts=3101329700464011
07-29 00:27:21.996  2543  2842 E android.hardware.bi...@2.1-service: sendFingerprintCmd cmdId= 1018
07-29 00:27:21.996  2543  2842 E FingerprintHal: hal sendFingerprintCmd
07-29 00:27:21.996  2543  2842 E FingerprintHal: GF_fingerprint_set_icon_hide_status: 0
07-29 00:27:22.019  1329  1329 E QTI PowerHAL: Failed to acquire lock for hint_id: 1041.
07-29 00:27:22.032 28937 28937 E OplusGestureAnimationManagerPolicy: mScreenHeight:2412 mScreenWidth:1080 mRotation:0
07-29 00:27:22.045  6803  6904 E OpenGLRenderer: Unable to match the desired swap behavior.
07-29 00:27:22.045  2220  4363 E SensorService: Required app com.oplus.systemui.aod.sensor.DozeLightSensorManager, uid 10206, pid 6803
07-29 00:27:22.048  1312  1492 E minksocket: MinkIPC_QRTR_Service: client with node 1 port 62a2 went down
07-29 00:27:22.049  1312  1492 E minksocket: MinkIPC_QRTR_Service: client with node 1 port 62a3 went down
07-29 00:27:22.049  1312  1492 E minksocket: MinkIPC_QRTR_Service: client with node 1 port 62a4 went down
07-29 00:27:22.050  3199  3206 E Diag_Lib: [IMS_AP]"ims-rtp-daemon ims_rtp_qmi_handler_thread_func waiting on select thread>"
07-29 00:27:22.050  1312  1492 E minksocket: MinkIPC_QRTR_Service: client with node 1 port 62a5 went down
07-29 00:27:22.070  6803  6904 E OpenGLRenderer: Unable to match the desired swap behavior.
07-29 00:27:22.138  1330  9813 E sensors-hal: handle_sns_client_event:58, lux_aod: report_ts=3218, state=1.000000, ts=3101329868380470
07-29 00:27:22.366 28937 28937 E OplusGestureAnimationManagerPolicy: mScreenHeight:2412 mScreenWidth:1080 mRotation:0
07-29 00:27:22.901 28937 28937 E OplusGestureAnimationManagerPolicy: mScreenHeight:2412 mScreenWidth:1080 mRotation:0
07-29 00:27:22.939 28937 28937 E OplusGestureAnimationManagerPolicy: mScreenHeight:2412 mScreenWidth:1080 mRotation:0
07-29 00:27:25.538  1330  9813 E sensors-hal: handle_sns_client_event:58, lux_aod: report_ts=3219, state=0.000000, ts=3101333267139636
07-29 00:27:25.693  2220  3569 E system_server: [theia_saupwk] start saupwkProcessKey
07-29 00:27:25.694  2220  3569 E system_server: [theia_saupwk] prepare send key event by hidl
07-29 00:27:25.695  2220  3569 E system_server: [theia_saupwk] send info to THEIA_NODE_ID_POWERKEY_REPORT
07-29 00:27:25.866  2220  3562 E Orms_ManagerInner: cannot connect to orms core service!
[ERROR] Logcat failed: 'charmap' codec can't decode byte 0x9d in position 869: character maps to <undefined>

Best regards
Lan


pedro h

unread,
Jul 28, 2026, 7:09:40 PM (6 days ago) Jul 28
to Kivy users support
Hi Lan,

Thanks for the log - found two separate things there:

1) The [ERROR] Logcat failed: 'charmap' codec can't decode byte... crash is a bug in Studio itself, not in your app. On Windows, Python was falling back to the system codepage to decode the adb output, and some OEM log lines contain bytes that codepage can't handle, which crashed the whole Logcat stream. I've fixed this, and the update is already live on the server - just open APK Builder Studio and it should update automatically, no extra steps needed on your end.

2) Looking at the log itself, I don't see any python / PythonActivity / SDL tagged lines at all - just regular Android system noise. That suggests the app wasn't actually open on your phone yet when the Logcat stream started. From my own testing, the best order is: start Logcat in Studio first (using the "Startup" filter mode), and then open the Weather app on your phone afterwards - Studio will pick it up automatically and switch to showing its output.

One more thing - can you tell me exactly what you see on the phone screen when you open the Weather app? Is it: nothing happening at all (app doesn't open), a crash back to the home screen, or does it open but just show a white/blank screen? That'll help a lot in narrowing down what to look for in the log.

Let me know how it goes with the update!

Best regards,
Pedro

Lan Le-Dinh

unread,
Jul 28, 2026, 7:15:49 PM (6 days ago) Jul 28
to kivy-...@googlegroups.com
Hi Pedro
The app opens on my phone, then it disappears, no black screen like before.
Best regards
Lan

Lan Le-Dinh

unread,
Jul 28, 2026, 7:24:09 PM (6 days ago) Jul 28
to kivy-...@googlegroups.com
Hi Pedro
I hope that this output helps:
-- Logcat Console ---
[INFO] Logcat mode set to: python

[INFO] Logcat mode set to: startup
[INFO] Starting Logcat stream (Mode: startup)...
[INFO] Detected Package Name: org.myapp.myapp
[WARN] App process not found (not running yet?) — falling back to tag-based filter, not PID-exclusive.
--------- beginning of main
07-29 01:20:37.549  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:38.409  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:38.411  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:40.920  1378  1489 E ANDR-PERF-LM: GamePerfEngine: runAsync() 499: Hint is for  = 0x1043 PID=2220
07-29 01:20:41.001  2220  3764 E UAH_JNI : uah_event_acquire ! cmdId: 2 ,strPkg: , strIdent: com.android.server.wm, timeout: 500
07-29 01:20:41.006  1378  1489 E ANDR-PERF-LM: MetaMeter: handleAsync() 166: AdaptLaunch Invalid Async
07-29 01:20:41.006  1378  1489 E ANDR-PERF-LM: MetaMeter: handleAsync() 166: AdaptLaunch Invalid Async
07-29 01:20:41.015  2220  3764 E UAH_JNI : uah_event_acquire ! cmdId: 1 ,strPkg: org.myapp.myapp, strIdent: com.android.server.wm, timeout: 2000
07-29 01:20:41.025  2220  3941 E SchedAssist: failed to open /proc/6803/task/4188/ux_state (2): No such file or directory
07-29 01:20:41.025  2220  3941 E SchedAssist: failed to open /proc/6803/task/4189/ux_state (2): No such file or directory
07-29 01:20:41.025  2220  3941 E SchedAssist: failed to open /proc/6803/task/22945/ux_state (2): No such file or directory
07-29 01:20:41.025  2220  3941 E SchedAssist: failed to open /proc/6803/task/22944/ux_state (2): No such file or directory
07-29 01:20:41.037  6803  6881 E OplusBracketLog: [OplusViewMirrorManager] updateHostViewRootIfNeeded, not support android.view.ViewRootImpl@53d5d53
07-29 01:20:41.046  6803  6904 E OpenGLRenderer: Unable to match the desired swap behavior.
07-29 01:20:41.058  1378  1489 E ANDR-PERF-LM: MetaMeter: handleAsync() 166: AdaptLaunch Invalid Async
07-29 01:20:41.078  4152  4152 E UAH_JNI : uah_event_acquire ! cmdId: 85 ,strPkg: org.myapp.myapp, strIdent: GpuBoost, timeout: 1000
07-29 01:20:41.091  2220  2770 E SchedAssist: failed to open /proc/4152/task/6681/ux_state (2): No such file or directory
07-29 01:20:41.091  2220  2770 E SchedAssist: failed to open /proc/4152/task/14785/ux_state (2): No such file or directory
07-29 01:20:41.091  2220  2770 E SchedAssist: failed to open /proc/4152/task/31839/ux_state (2): No such file or directory
07-29 01:20:41.098 16845 16845 E org.myapp.myapp: Unknown bits set in runtime_flags: 0x40000000
07-29 01:20:41.118  1378  1489 E ANDR-PERF-LM: MetaMeter: handleAsync() 166: AdaptLaunch Invalid Async
07-29 01:20:41.133  2220  3764 E UAH_JNI : uah_event_acquire ! cmdId: 0 ,strPkg: org.myapp.myapp, strIdent: com.android.server.wm, timeout: 600
--------- beginning of system
07-29 01:20:41.139  2220  2793 E OplusThermalStats: Error getting package info: org.myapp.myapp
07-29 01:20:41.154  6418  6483 E Battery : ThermalControlConfig: TsensorPolicy featureConfig is null
07-29 01:20:41.165 28906 28918 E metis_v2_FactManager: There is no subModel: com.oplus.linker
07-29 01:20:41.227  2220  4556 E UAH_JNI : uah_event_acquire ! cmdId: 2 ,strPkg: , strIdent: OplusActivityManagerServiceEnhance, timeout: 600
07-29 01:20:41.238 16845 16869 E org.myapp.myapp: Loaded layer handle (10123363385165820323) for layer /my_product/lib64/libcolorx-loader.so
07-29 01:20:41.238 16845 16869 E org.myapp.myapp: Looking for entrypoint ColorX_Check
07-29 01:20:41.238 16845 16869 E org.myapp.myapp: Found ColorX_Check for /my_product/lib64/libcolorx-loader.so
07-29 01:20:41.238 16845 16869 E org.myapp.myapp: Check failed
07-29 01:20:41.255 16845 16845 V PythonActivity: PythonActivity onCreate running
07-29 01:20:41.255 16845 16845 V PythonActivity: About to do super onCreate
07-29 01:20:41.255 16845 16845 V SDL     : Device: OnePlus9Pro
07-29 01:20:41.255 16845 16845 V SDL     : Model: LE2123
07-29 01:20:41.255 16845 16845 V SDL     : onCreate()
07-29 01:20:41.255 16845 16845 V PythonActivity: Did super onCreate
07-29 01:20:41.255 16845 16845 V SDL     : getting identifier
07-29 01:20:41.255 16845 16845 V SDL     : kind is layout and name lottie
07-29 01:20:41.255 16845 16845 V SDL     : result is 0
07-29 01:20:41.255 16845 16845 E org.myapp.myapp: Invalid resource ID 0x00000000.
07-29 01:20:41.255 16845 16845 V SDL     : couldn't find lottie layout or animation, trying static splash
07-29 01:20:41.255 16845 16845 V SDL     : getting identifier
07-29 01:20:41.255 16845 16845 V SDL     : kind is drawable and name presplash
07-29 01:20:41.255 16845 16845 V SDL     : result is 2130771969
07-29 01:20:41.263 16845 16845 V SDL     : asked to get string presplash_color
07-29 01:20:41.263 16845 16845 V SDL     : getting identifier
07-29 01:20:41.263 16845 16845 V SDL     : kind is string and name presplash_color
07-29 01:20:41.263 16845 16845 V SDL     : result is 2131034113
07-29 01:20:41.274 16845 16870 V PythonActivity: Ready to unpack
07-29 01:20:41.274 16845 16845 V SDL     : onStart()
07-29 01:20:41.278  2220  4210 E ScrollOptim [OplusPerfService]: isScrollOptimEnable: mSoptBean = ScrollOptimBean, mOptEnable=true, mPreAnimStrategy=1, mPreAnimBlacklist=[com.kyk.world, com.shopify.arrive], mPreAnimWhitelist=[], mInsertNum=1, mFrameInsertList={com.shopify.arrive={}, com.sina.weibo={com.sina.weibo.VisitorMainTabActivity=3}, com.tencent.mm={com.tencent.mm.ui.AlbumUI=3, com.tencent.mm.plugin.sns.ui.SnsTimeLineUI=3, com.tencent.mm.plugin.sns.ui.improve.ImproveSnsTimelineUI=3}, com.taobao.idlefish={}, com.kyk.world={}}, mSCEnableList={com.ss.android.ugc.aweme=[com.ss.android.ugc.aweme.splash.SplashActivity], com.sankuai.meituan=[com.meituan.android.pt.homepage.activity.MainActivity], com.dragon.read=[com.dragon.read.pages.main.MainFragmentActivity], com.sina.weibo=[com.sina.weibo.VisitorMainTabActivity], com.xunmeng.pinduoduo=[com.xunmeng.pinduoduo.activity.NewPageActivity], com.tencent.qqmusic=[com.tencent.qqmusic.activity.AppStarterActivity], com.tencent.mobileqq=[com.qzone.feed.ui.activity.QZoneFriendFeedActivity], com.tencent.qqlive=[com.tencent.qqlive.ona.activity.SplashHomeActivity], com.ct.client=[com.ct.client.activity.MainActivity]}
07-29 01:20:41.278  2220  4210 E ScrollOptim [OplusPerfService]: isScrollOptimEnable: pkgName = org.myapp.myapp, output = Bundle[{pre_anim_enable=true, frame_insert_list=null, frame_insert_default_num=1, scroll_changed_enable_list=null}]
07-29 01:20:41.279 16845 16845 V PythonActivity: onResume()
07-29 01:20:41.279 16845 16845 V SDL     : onResume()
07-29 01:20:41.279  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:41.281 16845 16845 E SchedAssist: sysOpen failed with error=Permission denied
07-29 01:20:41.281 16845 16845 E SchedAssist: sharedImFd failed with error=Permission denied
07-29 01:20:41.324 16845 16845 V SDL     : nativeSetupJNI()
07-29 01:20:41.324 16845 16845 V SDL     : AUDIO nativeSetupJNI()
07-29 01:20:41.324 16845 16845 V SDL     : CONTROLLER nativeSetupJNI()
07-29 01:20:41.348 16845 16845 V PythonActivity: Setting env vars for start.c and Python to use
07-29 01:20:41.349 16845 16845 V PythonActivity: Access to our meta-data...
07-29 01:20:41.349 16845 16845 I PythonActivity: Surface will NOT be transparent
07-29 01:20:41.351 16845 16845 E OplusBracketLog: [OplusViewMirrorManager] updateHostViewRootIfNeeded, not support android.view.ViewRootImpl@805dcca
07-29 01:20:41.351 16845 16845 I SurfaceView: 33603131 onAttachedToWindow
07-29 01:20:41.390 16845 16866 E OpenGLRenderer: Unable to match the desired swap behavior.
07-29 01:20:41.391 16845 16845 I SurfaceView: 33603131 visibleChanged -- surfaceCreated
07-29 01:20:41.391 16845 16845 V SDL     : surfaceCreated()
07-29 01:20:41.391 16845 16845 V SDL     : surfaceChanged()
07-29 01:20:41.391 16845 16845 V SDL     : Window size: 1080x2184
07-29 01:20:41.391 16845 16845 V SDL     : Device size: 1080x2412
07-29 01:20:41.393  2220  3787 E SensorService: Required app org.libsdl.app.SDLSurface, uid 10385, pid 16845
07-29 01:20:41.417 16845 16875 V SDL     : Running main function SDL_main from library /data/app/~~qX-HjLGpFpZ_u2bTatdjMA==/org.myapp.myapp-44TM1pL6GjkgU_Nc9nB5kA==/lib/arm64/libmain.so
07-29 01:20:41.417 16845 16845 D SurfaceView: 33603131 handleSyncNoBuffer
07-29 01:20:41.417 16845 16875 V PythonActivity: appConfirmedActive() -> preparing loading screen removal
07-29 01:20:41.417 16845 16875 V SDL     : nativeRunMain()
07-29 01:20:41.417 16845 16845 D SurfaceView: 33603131 finishedDrawing
07-29 01:20:41.418 16845 16845 D SurfaceView: 33603131 performDrawFinished mAttachedToWindow true
07-29 01:20:41.418 16845 16875 I python  : Initializing Python for Android
07-29 01:20:41.418 16845 16875 I python  : Setting additional env vars from p4a_env_vars.txt
07-29 01:20:41.419 16845 16875 I python  : Changing directory to '/data/user/0/org.myapp.myapp/files/app'
07-29 01:20:41.421 16845 16845 D SurfaceView: 33603131 dispatchDraw mDrawFinished true isAboveParent false (mPrivateFlags & PFLAG_SKIP_DRAW) 128
07-29 01:20:41.421 16845 16845 D SurfaceView: 33603131 clearSurfaceViewPort mCornerRadius 0.0
07-29 01:20:41.423 16845 16875 I python  : Preparing to initialize python
07-29 01:20:41.423 16845 16875 I python  : _python_bundle dir exists
07-29 01:20:41.423 16845 16875 I python  : set wchar paths...
07-29 01:20:41.457 16845 16845 V SDL     : onWindowFocusChanged(): true
07-29 01:20:41.473 16845 16875 I python  : Initialized python
07-29 01:20:41.473 16845 16875 I python  : testing python print redirection
07-29 01:20:41.475 16845 16875 I python  : Android kivy bootstrap done. __name__ is __main__
07-29 01:20:41.603 16845 16875 I python  : [INFO   ] [Logger      ] Record log in /data/user/0/org.myapp.myapp/files/app/.kivy/logs/kivy_26-07-29_4.txt
07-29 01:20:41.603 16845 16875 I python  : [INFO   ] [Kivy        ] v2.3.1
07-29 01:20:41.603 16845 16875 I python  : [INFO   ] [Kivy        ] Installed at "/data/user/0/org.myapp.myapp/files/app/_python_bundle/site-packages/kivy/__init__.pyc"
07-29 01:20:41.603 16845 16875 I python  : [INFO   ] [Python      ] v3.14.2 (main, Jul 29 2026, 00:15:09) [Clang 14.0.6 (https://android.googlesource.com/toolchain/llvm-project 4c603efb0
07-29 01:20:41.604 16845 16875 I python  : [INFO   ] [Python      ] Interpreter at "/data/user/0/org.myapp.myapp/files/app/.bin/python"
07-29 01:20:41.604 16845 16875 I python  : [INFO   ] [Logger      ] Purge log fired. Processing...
07-29 01:20:41.604 16845 16875 I python  : [INFO   ] [Logger      ] Purge finished!
07-29 01:20:41.605 16845 16875 I python  : [INFO   ] [KivyMD      ] 1.2.0, git-Unknown, 2026-07-28 (installed at "/data/user/0/org.myapp.myapp/files/app/_python_bundle/site-packages/kivymd/__init__.pyc")
07-29 01:20:41.606 16845 16875 I python  : [WARNING] [KivyMD      ] Version 1.2.0 is deprecated and is no longer supported. Use KivyMD version 2.0.0 from the master branch (pip install https://github.com/kivymd/KivyMD/archive/master.zip)
07-29 01:20:41.608 16845 16875 I python  : [INFO   ] [Factory     ] 195 symbols loaded
07-29 01:20:41.803  2220  3787 E SchedAssist: failed to open /proc/6803/task/4188/ux_state (2): No such file or directory
07-29 01:20:41.803  2220  3787 E SchedAssist: failed to open /proc/6803/task/4189/ux_state (2): No such file or directory
07-29 01:20:41.803  2220  3787 E SchedAssist: failed to open /proc/6803/task/22945/ux_state (2): No such file or directory
07-29 01:20:41.803  2220  3787 E SchedAssist: failed to open /proc/6803/task/22944/ux_state (2): No such file or directory
07-29 01:20:41.832  4152  4152 E OsenseResClient: osenseClrSceneAction: handle is illegal
07-29 01:20:41.988 28937 28937 E OplusGestureAnimationManagerPolicy: mScreenHeight:2412 mScreenWidth:1080 mRotation:0
07-29 01:20:42.059  1378  6339 E ANDR-PERF-LM: VmRssMeter:: start() 453: Could not find pid, can not collect vmrss data
07-29 01:20:42.059  1378  6339 E ANDR-PERF-LM: AdaptiveLaunch: writeToDataBase() 64: Meter aborted or could not get meter data for this run
07-29 01:20:42.068  1378  6338 E ANDR-PERF-LM: VmRssMeter:: start() 453: Could not find pid, can not collect vmrss data
07-29 01:20:42.138  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:42.138  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:42.269 16845 16875 I python  : [INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2 (img_pil, img_ffpyplayer ignored)
07-29 01:20:42.278 16845 16875 I python  : [INFO   ] [Text        ] Provider: sdl2
07-29 01:20:42.380 16845 16875 I python  : [INFO   ] [Window      ] Provider: sdl2
07-29 01:20:42.389 16845 16875 V SDL     : setOrientation() requestedOrientation=1 width=1080 height=2412 resizable=true hint=Portrait
07-29 01:20:42.426 16845 16866 E OpenGLRenderer: Unable to match the desired swap behavior.
07-29 01:20:42.426 16845 16845 V SDL     : surfaceChanged()
07-29 01:20:42.426 16845 16845 V SDL     : Window size: 1080x2316
07-29 01:20:42.426 16845 16845 V SDL     : Device size: 1080x2412
07-29 01:20:42.427 16845 16845 D SurfaceView: 33603131 handleSyncNoBuffer
07-29 01:20:42.427 16845 16845 D SurfaceView: 33603131 finishedDrawing
07-29 01:20:42.427 16845 16875 I python  : [INFO   ] [GL          ] Using the "OpenGL ES 2" graphics system
07-29 01:20:42.427 16845 16845 D SurfaceView: 33603131 performDrawFinished mAttachedToWindow true
07-29 01:20:42.429 16845 16845 D SurfaceView: 33603131 dispatchDraw mDrawFinished true isAboveParent false (mPrivateFlags & PFLAG_SKIP_DRAW) 128
07-29 01:20:42.429 16845 16845 D SurfaceView: 33603131 clearSurfaceViewPort mCornerRadius 0.0
07-29 01:20:42.429 16845 16875 I python  : [INFO   ] [GL          ] Backend used <sdl2>
07-29 01:20:42.429 16845 16875 I python  : [INFO   ] [GL          ] OpenGL version <b'OpenGL ES 3.2 V...@0530.53 (GIT@a1cf8ab5e3, I428bf45773, 1699535026) (Date:11/09/23)'>
07-29 01:20:42.429 16845 16875 I python  : [INFO   ] [GL          ] OpenGL vendor <b'Qualcomm'>
07-29 01:20:42.429 16845 16875 I python  : [INFO   ] [GL          ] OpenGL renderer <b'Adreno (TM) 660'>
07-29 01:20:42.429 16845 16875 I python  : [INFO   ] [GL          ] OpenGL parsed version: 3, 2
07-29 01:20:42.430 16845 16875 I python  : [INFO   ] [GL          ] Texture max size <16384>
07-29 01:20:42.430 16845 16875 I python  : [INFO   ] [GL          ] Texture max units <16>
07-29 01:20:42.454 16845 16875 I python  : [INFO   ] [Window      ] auto add sdl2 input provider
07-29 01:20:42.454 16845 16875 I python  : [INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
07-29 01:20:42.552 16845 16875 I python  : [INFO   ] [Clipboard   ] Provider: android
07-29 01:20:42.688 16845 16875 I python  :  /home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/requests/__init__.py:92: RequestsDependencyWarning: Unable to find acceptable character detection dependency (chardet or charset_normalizer).
07-29 01:20:42.725 16845 16875 I python  : [DEBUG  ] [Starting new HTTPS connection (1)] api.openweathermap.org:443
07-29 01:20:42.944 16845 16875 I python  : [DEBUG  ] [https          ]//api.openweathermap.org:443 "GET /data/2.5/weather?q=chicago&appid=Lan%20API%20KEY HTTP/1.1" 401 108
07-29 01:20:43.057 16845 16875 I python  :  Traceback (most recent call last):
07-29 01:20:43.057 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 245, in create_handler
07-29 01:20:43.057 16845 16875 I python  :    File "/data/data/org.myapp.myapp/files/app/View/HomeScreen/components/components.kv", line 73, in <module>
07-29 01:20:43.057 16845 16875 I python  :      text:f"Pressure : {app.weather_data['main']['pressure']} mb"
07-29 01:20:43.057 16845 16875 I python  :      ^^^^^^^^^^^^^^^^^^^^^^
07-29 01:20:43.057 16845 16875 I python  :  KeyError: 'main'
07-29 01:20:43.057 16845 16875 I python  :  
07-29 01:20:43.057 16845 16875 I python  :  During handling of the above exception, another exception occurred:
07-29 01:20:43.057 16845 16875 I python  :  
07-29 01:20:43.057 16845 16875 I python  :  Traceback (most recent call last):
07-29 01:20:43.057 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 699, in _apply_rule
07-29 01:20:43.057 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 248, in create_handler
07-29 01:20:43.057 16845 16875 I python  :  kivy.lang.builder.BuilderException: Parser: File "/data/data/org.myapp.myapp/files/app/View/HomeScreen/components/components.kv", line 73:
07-29 01:20:43.057 16845 16875 I python  :  ...
07-29 01:20:43.057 16845 16875 I python  :       71:            Item:
07-29 01:20:43.057 16845 16875 I python  :       72:                icon:"arrow-collapse"
07-29 01:20:43.057 16845 16875 I python  :  >>   73:                text:f"Pressure : {app.weather_data['main']['pressure']} mb"
07-29 01:20:43.058 16845 16875 I python  :       74: MDSeparator:
07-29 01:20:43.058 16845 16875 I python  :       75:    MDBoxLayout:
07-29 01:20:43.058 16845 16875 I python  :  ...
07-29 01:20:43.058 16845 16875 I python  :  KeyError: 'main'
07-29 01:20:43.058 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 245, in create_handler
07-29 01:20:43.058 16845 16875 I python  :    File "/data/data/org.myapp.myapp/files/app/View/HomeScreen/components/components.kv", line 73, in <module>
07-29 01:20:43.058 16845 16875 I python  :      text:f"Pressure : {app.weather_data['main']['pressure']} mb"
07-29 01:20:43.058 16845 16875 I python  :      ^^^^^^^^^^^^^^^^^^^^^^
07-29 01:20:43.058 16845 16875 I python  :  
07-29 01:20:43.058 16845 16875 I python  :  
07-29 01:20:43.058 16845 16875 I python  :  During handling of the above exception, another exception occurred:
07-29 01:20:43.058 16845 16875 I python  :  
07-29 01:20:43.058 16845 16875 I python  :  Traceback (most recent call last):
07-29 01:20:43.058 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/app/main.py", line 99, in <module>
07-29 01:20:43.058 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/app.py", line 955, in run
07-29 01:20:43.058 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/app.py", line 925, in _run_prepare
07-29 01:20:43.058 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/app/main.py", line 62, in build
07-29 01:20:43.058 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/app/main.py", line 81, in generate_application_screens
07-29 01:20:43.058 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/app/Controller/home_screen.py", line 20, in __init__
07-29 01:20:43.058 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/app/View/base_screen.py", line 61, in __init__
07-29 01:20:43.058 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivymd/uix/behaviors/declarative_behavior.py", line 311, in __init__
07-29 01:20:43.058 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivymd/theming.py", line 1670, in __init__
07-29 01:20:43.058 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/uix/relativelayout.py", line 274, in __init__
07-29 01:20:43.058 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/uix/floatlayout.py", line 65, in __init__
07-29 01:20:43.059 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/uix/layout.py", line 76, in __init__
07-29 01:20:43.059 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/uix/widget.py", line 366, in __init__
07-29 01:20:43.059 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/uix/widget.py", line 470, in apply_class_lang_rules
07-29 01:20:43.059 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 545, in apply
07-29 01:20:43.059 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 667, in _apply_rule
07-29 01:20:43.059 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 667, in _apply_rule
07-29 01:20:43.059 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 667, in _apply_rule
07-29 01:20:43.059 16845 16875 I python  :    [Previous line repeated 5 more times]
07-29 01:20:43.059 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 665, in _apply_rule
07-29 01:20:43.059 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/uix/widget.py", line 470, in apply_class_lang_rules
07-29 01:20:43.059 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 545, in apply
07-29 01:20:43.059 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 714, in _apply_rule
07-29 01:20:43.059 16845 16875 I python  :  kivy.lang.builder.BuilderException: Parser: File "/data/data/org.myapp.myapp/files/app/View/HomeScreen/components/components.kv", line 73:
07-29 01:20:43.059 16845 16875 I python  :  ...
07-29 01:20:43.059 16845 16875 I python  :       71:            Item:
07-29 01:20:43.059 16845 16875 I python  :       72:                icon:"arrow-collapse"
07-29 01:20:43.059 16845 16875 I python  :  >>   73:                text:f"Pressure : {app.weather_data['main']['pressure']} mb"
07-29 01:20:43.059 16845 16875 I python  :       74: MDSeparator:
07-29 01:20:43.059 16845 16875 I python  :       75:    MDBoxLayout:
07-29 01:20:43.059 16845 16875 I python  :  ...
07-29 01:20:43.059 16845 16875 I python  :  BuilderException: Parser: File "/data/data/org.myapp.myapp/files/app/View/HomeScreen/components/components.kv", line 73:
07-29 01:20:43.059 16845 16875 I python  :  ...
07-29 01:20:43.059 16845 16875 I python  :       71:            Item:
07-29 01:20:43.059 16845 16875 I python  :       72:                icon:"arrow-collapse"
07-29 01:20:43.059 16845 16875 I python  :  >>   73:                text:f"Pressure : {app.weather_data['main']['pressure']} mb"
07-29 01:20:43.059 16845 16875 I python  :       74: MDSeparator:
07-29 01:20:43.059 16845 16875 I python  :       75:    MDBoxLayout:
07-29 01:20:43.059 16845 16875 I python  :  ...
07-29 01:20:43.059 16845 16875 I python  :  KeyError: 'main'
07-29 01:20:43.059 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 245, in create_handler
07-29 01:20:43.060 16845 16875 I python  :    File "/data/data/org.myapp.myapp/files/app/View/HomeScreen/components/components.kv", line 73, in <module>
07-29 01:20:43.060 16845 16875 I python  :      text:f"Pressure : {app.weather_data['main']['pressure']} mb"
07-29 01:20:43.060 16845 16875 I python  :      ^^^^^^^^^^^^^^^^^^^^^^
07-29 01:20:43.060 16845 16875 I python  :  
07-29 01:20:43.060 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 699, in _apply_rule
07-29 01:20:43.060 16845 16875 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 248, in create_handler
07-29 01:20:43.060 16845 16875 I python  :  
07-29 01:20:43.060 16845 16875 I python  : Python for android ended.
07-29 01:20:43.307  2220  3882 E OAPM    : activity preload is not enabled
07-29 01:20:43.325  2220  3764 E UAH_JNI : uah_event_acquire ! cmdId: 0 ,strPkg: com.android.launcher, strIdent: com.android.server.wm, timeout: 600
07-29 01:20:43.327  1645  1645 E BpTransactionCompletedListener: Failed to transact (-32)
07-29 01:20:43.337  6418  6483 E Battery : ThermalControlConfig: TsensorPolicy featureConfig is null
07-29 01:20:43.337  4152  4152 E SideSlipGesturesGuideHelper[u0]: canShowSwipeUpGuide launcher is null
07-29 01:20:43.337 28906 28931 E metis_v2_FactManager: There is no subModel: com.oplus.linker
07-29 01:20:43.338  2220  2793 E OplusThermalStats: Error getting package info: com.android.launcher
07-29 01:20:43.339  2220  4139 E SchedAssist: failed to open /proc/4152/task/6681/ux_state (2): No such file or directory
07-29 01:20:43.339  2220  4139 E SchedAssist: failed to open /proc/4152/task/14785/ux_state (2): No such file or directory
07-29 01:20:43.339  2220  4139 E SchedAssist: failed to open /proc/4152/task/31839/ux_state (2): No such file or directory
07-29 01:20:43.359 11921 11960 E OpenGLRenderer: Unable to match the desired swap behavior.
07-29 01:20:43.361  4152  4428 E OpenGLRenderer: Unable to match the desired swap behavior.
07-29 01:20:43.367  2220  3764 E SchedAssist: failed to open /proc/4152/task/6681/ux_state (2): No such file or directory
07-29 01:20:43.367  2220  3764 E SchedAssist: failed to open /proc/4152/task/14785/ux_state (2): No such file or directory
07-29 01:20:43.367  2220  3764 E SchedAssist: failed to open /proc/4152/task/31839/ux_state (2): No such file or directory
07-29 01:20:43.368 11921 11921 E NetworkErrorMessage: (REDACTED) Invalid connectivity state: %s
07-29 01:20:43.389  6803  6865 E OplusShellTransition: couldn't get animation style packageName, android.window.OplusTransitionExtendedInfo.getAnimationStylePackageName []
07-29 01:20:43.398 28937 28937 E OplusGestureAnimationManagerPolicy: mScreenHeight:2412 mScreenWidth:1080 mRotation:0
07-29 01:20:43.433  2220  4305 E OplusNetworkStackManager: callback len = 6
07-29 01:20:43.433  4418  5545 E OplusNetworkStackManager: callback len = 2
07-29 01:20:43.436  5280  5328 E OplusNetworkStackManager: callback len = 0
07-29 01:20:44.162  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:44.425  1378  6339 E ANDR-PERF-LM: VmRssMeter:: start() 453: Could not find pid, can not collect vmrss data
07-29 01:20:44.425  1378  6338 E ANDR-PERF-LM: VmRssMeter:: start() 453: Could not find pid, can not collect vmrss data
07-29 01:20:44.426  1378  6339 E ANDR-PERF-LM: AdaptiveLaunch: writeToDataBase() 64: Meter aborted or could not get meter data for this run
07-29 01:20:45.026  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:45.027  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:45.604  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:45.605  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:47.898  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:47.899  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:48.453  5342  5366 E horae   : 0: back:28536,frame:27457,front:27140, 1, +(1440), 1 ,28600,33363,30447,29976
07-29 01:20:49.337  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:50.716  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:50.771  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:51.647  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:51.649  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:52.222  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:52.224  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:53.655  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:54.521  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:55.966  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:56.545  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:58.450  5342  5366 E horae   : 0: back:27913,frame:27159,front:26812, 1, +(2179), 1 ,28700,31814,29979,30092
07-29 01:20:58.834  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:58.836  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:20:59.157  1330 11514 E sensors-hal: handle_sns_client_event:86, pedometer_minute: report_ts=51551,counter=25756.000000 move_status =[SNS_CMC_STATIONARY] time_gap = 0 run_counter=597.000000 walk_counter=15853.000000
07-29 01:20:59.171  2220  3534 E AppOps  : attributionTag  not declared in manifest of com.oplus.healthservice
07-29 01:20:59.174  2220  3534 E AppOps  : attributionTag  not declared in manifest of com.oplus.healthservice
07-29 01:21:00.052  2220  3990 E OplusCustomizeRestrictionManagerService: isBiometricDisabled start
07-29 01:21:00.257  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
[INFO] Logcat stopped.
07-29 01:21:00.258  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:21:00.259  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact

Best regards
Lan

pedro h

unread,
Jul 28, 2026, 7:24:38 PM (6 days ago) Jul 28
to Kivy users support
Hi Lan,

Thanks - "opens then disappears" (instead of a black screen) is actually a good sign, it means we're past the earlier startup issues and now likely dealing with something else, possibly a quick crash right after launch.

Quick check first: in View/HomeScreen/components/weather_api_data.py, have you entered your own OpenWeatherMap API key there (replacing the "your-api-key" placeholder)? If that's still the placeholder, the app will fail right when it tries to load the weather data, which could explain exactly this kind of crash.

Either way, please grab the latest APK Builder Studio update and try Logcat again - but this time in this exact order:

1. First, start Logcat in Studio (select the "Startup" filter mode).
2. Only after Logcat is already running, open the Weather app on your phone.

This order matters - if you open the app before Logcat is running, Studio can miss the app's process entirely and you just get generic Android system logs instead of your app's actual output (which is what happened last time).

Once you've done that, send me the full console output again and we'll see exactly what's happening.

Best regards,
Pedro
Message has been deleted

pedro h

unread,
Jul 28, 2026, 7:33:33 PM (6 days ago) Jul 28
to Kivy users support
Hi Lan,

Great news - the new Startup Logcat mode worked perfectly and showed us exactly what's going on:


"GET /data/2.5/weather?q=chicago&appid=Lan%20API%20KEY HTTP/1.1" 401 108
...
KeyError: 'main'

Looks like the placeholder I left in the file ("Lan API KEY") is still there - it needs to be swapped out for your own real OpenWeatherMap API key. The weather server rejects the placeholder with a 401 Unauthorized, so the app never gets real weather data back, and then crashes trying to read the missing 'main' field - that's your disappearing app.

Here's how to fix it:

1. Get a real API key:
   - Go to https://openweathermap.org and create a free account.
   - After signing up, go to your account -> "My API keys" tab.
   - Copy the key shown there (it's a long string of letters and numbers, not text). Note: a freshly created key can take 10-60 minutes before it becomes active, so if it still gives a 401 right after signing up, just wait a bit and try again.

2. Enter it in the project:
   - Open View/HomeScreen/components/weather_api_data.py in your project folder.
   - Find where the API key is set (the placeholder "Lan API KEY") and replace it with your real key from step 1, exactly as copied, no extra spaces or quotes changed.

3. Rebuild the app:
   - Save the file, then build a fresh APK in APK Builder Studio like before (Screen 3), then install it on your phone via Screen 4.

Once that's done, try opening the app again - it should now load the weather data correctly instead of crashing. Let me know how it goes!

Best regards,
Pedro

Lan Le-Dinh

unread,
Jul 28, 2026, 7:34:29 PM (6 days ago) Jul 28
to kivy-...@googlegroups.com
Hi Pedro
It looks like I need to click on the "Python" button before clicking on "Startup". And I got this:

--- Logcat Console ---
[INFO] Logcat mode set to: python
[INFO] Logcat stopped.
[INFO] Starting Logcat stream (Mode: python)...

[INFO] Detected Package Name: org.myapp.myapp
[WARN] App process not found (not running yet?) — falling back to tag-based filter, not PID-exclusive.
[INFO] Logcat mode set to: startup
[INFO] Logcat stopped.

[INFO] Starting Logcat stream (Mode: startup)...
[INFO] Detected Package Name: org.myapp.myapp
[WARN] App process not found (not running yet?) — falling back to tag-based filter, not PID-exclusive.
--------- beginning of main
07-29 01:30:05.513  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:30:05.514  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:30:06.382  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:30:07.246  1378  1489 E ANDR-PERF-LM: GamePerfEngine: runAsync() 499: Hint is for  = 0x1043 PID=2220
07-29 01:30:07.341  2220  3764 E UAH_JNI : uah_event_acquire ! cmdId: 2 ,strPkg: , strIdent: com.android.server.wm, timeout: 500
07-29 01:30:07.347  1378  1489 E ANDR-PERF-LM: MetaMeter: handleAsync() 166: AdaptLaunch Invalid Async
07-29 01:30:07.347  1378  1489 E ANDR-PERF-LM: MetaMeter: handleAsync() 166: AdaptLaunch Invalid Async
07-29 01:30:07.354  2220  3764 E UAH_JNI : uah_event_acquire ! cmdId: 1 ,strPkg: org.myapp.myapp, strIdent: com.android.server.wm, timeout: 2000
07-29 01:30:07.371  6803  6881 E OplusBracketLog: [OplusViewMirrorManager] updateHostViewRootIfNeeded, not support android.view.ViewRootImpl@1fb6240
07-29 01:30:07.372  2220  4365 E SchedAssist: failed to open /proc/6803/task/4188/ux_state (2): No such file or directory
07-29 01:30:07.372  2220  4365 E SchedAssist: failed to open /proc/6803/task/4189/ux_state (2): No such file or directory
07-29 01:30:07.372  2220  4365 E SchedAssist: failed to open /proc/6803/task/22945/ux_state (2): No such file or directory
07-29 01:30:07.372  2220  4365 E SchedAssist: failed to open /proc/6803/task/22944/ux_state (2): No such file or directory
07-29 01:30:07.379  6803  6904 E OpenGLRenderer: Unable to match the desired swap behavior.
07-29 01:30:07.384  1378  1489 E ANDR-PERF-LM: MetaMeter: handleAsync() 166: AdaptLaunch Invalid Async
07-29 01:30:07.393  2220  2770 E SchedAssist: failed to open /proc/4152/task/6681/ux_state (2): No such file or directory
07-29 01:30:07.393  2220  2770 E SchedAssist: failed to open /proc/4152/task/14785/ux_state (2): No such file or directory
07-29 01:30:07.393  2220  2770 E SchedAssist: failed to open /proc/4152/task/31839/ux_state (2): No such file or directory
07-29 01:30:07.405  4152  4152 E UAH_JNI : uah_event_acquire ! cmdId: 85 ,strPkg: org.myapp.myapp, strIdent: GpuBoost, timeout: 1000
07-29 01:30:07.428 17887 17887 E org.myapp.myapp: Unknown bits set in runtime_flags: 0x40000000
07-29 01:30:07.446  1378  1489 E ANDR-PERF-LM: MetaMeter: handleAsync() 166: AdaptLaunch Invalid Async
07-29 01:30:07.457  2220  3764 E UAH_JNI : uah_event_acquire ! cmdId: 0 ,strPkg: org.myapp.myapp, strIdent: com.android.server.wm, timeout: 600
--------- beginning of system
07-29 01:30:07.462  2220  2793 E OplusThermalStats: Error getting package info: org.myapp.myapp
07-29 01:30:07.486  6418  6483 E Battery : ThermalControlConfig: TsensorPolicy featureConfig is null
07-29 01:30:07.495 28906 28918 E metis_v2_FactManager: There is no subModel: com.oplus.linker
07-29 01:30:07.552  2220  4236 E UAH_JNI : uah_event_acquire ! cmdId: 2 ,strPkg: , strIdent: OplusActivityManagerServiceEnhance, timeout: 600
07-29 01:30:07.565 17887 17918 E org.myapp.myapp: Loaded layer handle (8704113064097461537) for layer /my_product/lib64/libcolorx-loader.so
07-29 01:30:07.565 17887 17918 E org.myapp.myapp: Looking for entrypoint ColorX_Check
07-29 01:30:07.565 17887 17918 E org.myapp.myapp: Found ColorX_Check for /my_product/lib64/libcolorx-loader.so
07-29 01:30:07.565 17887 17918 E org.myapp.myapp: Check failed
07-29 01:30:07.578 17887 17887 V PythonActivity: PythonActivity onCreate running
07-29 01:30:07.578 17887 17887 V PythonActivity: About to do super onCreate
07-29 01:30:07.578 17887 17887 V SDL     : Device: OnePlus9Pro
07-29 01:30:07.578 17887 17887 V SDL     : Model: LE2123
07-29 01:30:07.578 17887 17887 V SDL     : onCreate()
07-29 01:30:07.578 17887 17887 V PythonActivity: Did super onCreate
07-29 01:30:07.578 17887 17887 V SDL     : getting identifier
07-29 01:30:07.578 17887 17887 V SDL     : kind is layout and name lottie
07-29 01:30:07.578 17887 17887 V SDL     : result is 0
07-29 01:30:07.578 17887 17887 E org.myapp.myapp: Invalid resource ID 0x00000000.
07-29 01:30:07.578 17887 17887 V SDL     : couldn't find lottie layout or animation, trying static splash
07-29 01:30:07.578 17887 17887 V SDL     : getting identifier
07-29 01:30:07.578 17887 17887 V SDL     : kind is drawable and name presplash
07-29 01:30:07.578 17887 17887 V SDL     : result is 2130771969
07-29 01:30:07.586 17887 17887 V SDL     : asked to get string presplash_color
07-29 01:30:07.586 17887 17887 V SDL     : getting identifier
07-29 01:30:07.586 17887 17887 V SDL     : kind is string and name presplash_color
07-29 01:30:07.586 17887 17887 V SDL     : result is 2131034113
07-29 01:30:07.596 17887 17919 V PythonActivity: Ready to unpack
07-29 01:30:07.596 17887 17887 V SDL     : onStart()
07-29 01:30:07.598  2220  3941 E ScrollOptim [OplusPerfService]: isScrollOptimEnable: mSoptBean = ScrollOptimBean, mOptEnable=true, mPreAnimStrategy=1, mPreAnimBlacklist=[com.kyk.world, com.shopify.arrive], mPreAnimWhitelist=[], mInsertNum=1, mFrameInsertList={com.shopify.arrive={}, com.sina.weibo={com.sina.weibo.VisitorMainTabActivity=3}, com.tencent.mm={com.tencent.mm.ui.AlbumUI=3, com.tencent.mm.plugin.sns.ui.SnsTimeLineUI=3, com.tencent.mm.plugin.sns.ui.improve.ImproveSnsTimelineUI=3}, com.taobao.idlefish={}, com.kyk.world={}}, mSCEnableList={com.ss.android.ugc.aweme=[com.ss.android.ugc.aweme.splash.SplashActivity], com.sankuai.meituan=[com.meituan.android.pt.homepage.activity.MainActivity], com.dragon.read=[com.dragon.read.pages.main.MainFragmentActivity], com.sina.weibo=[com.sina.weibo.VisitorMainTabActivity], com.xunmeng.pinduoduo=[com.xunmeng.pinduoduo.activity.NewPageActivity], com.tencent.qqmusic=[com.tencent.qqmusic.activity.AppStarterActivity], com.tencent.mobileqq=[com.qzone.feed.ui.activity.QZoneFriendFeedActivity], com.tencent.qqlive=[com.tencent.qqlive.ona.activity.SplashHomeActivity], com.ct.client=[com.ct.client.activity.MainActivity]}
07-29 01:30:07.598  2220  3941 E ScrollOptim [OplusPerfService]: isScrollOptimEnable: pkgName = org.myapp.myapp, output = Bundle[{pre_anim_enable=true, frame_insert_list=null, frame_insert_default_num=1, scroll_changed_enable_list=null}]
07-29 01:30:07.599 17887 17887 V PythonActivity: onResume()
07-29 01:30:07.599 17887 17887 V SDL     : onResume()
07-29 01:30:07.601 17887 17887 E SchedAssist: sysOpen failed with error=Permission denied
07-29 01:30:07.601 17887 17887 E SchedAssist: sharedImFd failed with error=Permission denied
07-29 01:30:07.638 17887 17887 V SDL     : nativeSetupJNI()
07-29 01:30:07.639 17887 17887 V SDL     : AUDIO nativeSetupJNI()
07-29 01:30:07.639 17887 17887 V SDL     : CONTROLLER nativeSetupJNI()
07-29 01:30:07.659 17887 17887 V PythonActivity: Setting env vars for start.c and Python to use
--------- beginning of main
--------- beginning of main
07-29 01:30:07.659 17887 17887 V PythonActivity: Access to our meta-data...
07-29 01:30:07.659 17887 17887 I PythonActivity: Surface will NOT be transparent
07-29 01:30:07.661 17887 17887 E OplusBracketLog: [OplusViewMirrorManager] updateHostViewRootIfNeeded, not support android.view.ViewRootImpl@805dcca
07-29 01:30:07.661 17887 17887 I SurfaceView: 33603131 onAttachedToWindow
07-29 01:30:07.698 17887 17915 E OpenGLRenderer: Unable to match the desired swap behavior.
07-29 01:30:07.700 17887 17887 I SurfaceView: 33603131 visibleChanged -- surfaceCreated
07-29 01:30:07.700 17887 17887 V SDL     : surfaceCreated()
07-29 01:30:07.700 17887 17887 V SDL     : surfaceChanged()
07-29 01:30:07.700 17887 17887 V SDL     : Window size: 1080x2184
07-29 01:30:07.700 17887 17887 V SDL     : Device size: 1080x2412
07-29 01:30:07.701  2220  4144 E SensorService: Required app org.libsdl.app.SDLSurface, uid 10385, pid 17887
07-29 01:30:07.726 17887 17887 D SurfaceView: 33603131 handleSyncNoBuffer
07-29 01:30:07.727 17887 17887 D SurfaceView: 33603131 finishedDrawing
07-29 01:30:07.727 17887 17887 D SurfaceView: 33603131 performDrawFinished mAttachedToWindow true
07-29 01:30:07.728 17887 17923 V SDL     : Running main function SDL_main from library /data/app/~~qX-HjLGpFpZ_u2bTatdjMA==/org.myapp.myapp-44TM1pL6GjkgU_Nc9nB5kA==/lib/arm64/libmain.so
07-29 01:30:07.728 17887 17923 V PythonActivity: appConfirmedActive() -> preparing loading screen removal
07-29 01:30:07.728 17887 17923 V SDL     : nativeRunMain()
07-29 01:30:07.730 17887 17887 D SurfaceView: 33603131 dispatchDraw mDrawFinished true isAboveParent false (mPrivateFlags & PFLAG_SKIP_DRAW) 128
07-29 01:30:07.730 17887 17887 D SurfaceView: 33603131 clearSurfaceViewPort mCornerRadius 0.0
07-29 01:30:07.730 17887 17923 I python  : Initializing Python for Android
07-29 01:30:07.730 17887 17923 I python  : Setting additional env vars from p4a_env_vars.txt
07-29 01:30:07.731 17887 17923 I python  : Changing directory to '/data/user/0/org.myapp.myapp/files/app'
07-29 01:30:07.731 17887 17923 I python  : Preparing to initialize python
07-29 01:30:07.731 17887 17923 I python  : _python_bundle dir exists
07-29 01:30:07.731 17887 17923 I python  : set wchar paths...
07-29 01:30:07.762 17887 17887 V SDL     : onWindowFocusChanged(): true
07-29 01:30:07.787 17887 17923 I python  : Initialized python
07-29 01:30:07.788 17887 17923 I python  : testing python print redirection
07-29 01:30:07.788 17887 17923 I python  : Android kivy bootstrap done. __name__ is __main__
07-29 01:30:07.919 17887 17923 I python  : [INFO   ] [Logger      ] Record log in /data/user/0/org.myapp.myapp/files/app/.kivy/logs/kivy_26-07-29_8.txt
07-29 01:30:07.920 17887 17923 I python  : [INFO   ] [Kivy        ] v2.3.1
07-29 01:30:07.920 17887 17923 I python  : [INFO   ] [Kivy        ] Installed at "/data/user/0/org.myapp.myapp/files/app/_python_bundle/site-packages/kivy/__init__.pyc"
07-29 01:30:07.920 17887 17923 I python  : [INFO   ] [Python      ] v3.14.2 (main, Jul 29 2026, 00:15:09) [Clang 14.0.6 (https://android.googlesource.com/toolchain/llvm-project 4c603efb0
07-29 01:30:07.920 17887 17923 I python  : [INFO   ] [Python      ] Interpreter at "/data/user/0/org.myapp.myapp/files/app/.bin/python"
07-29 01:30:07.920 17887 17923 I python  : [INFO   ] [Logger      ] Purge log fired. Processing...
07-29 01:30:07.921 17887 17923 I python  : [INFO   ] [Logger      ] Purge finished!
07-29 01:30:07.922 17887 17923 I python  : [INFO   ] [KivyMD      ] 1.2.0, git-Unknown, 2026-07-28 (installed at "/data/user/0/org.myapp.myapp/files/app/_python_bundle/site-packages/kivymd/__init__.pyc")
07-29 01:30:07.922 17887 17923 I python  : [WARNING] [KivyMD      ] Version 1.2.0 is deprecated and is no longer supported. Use KivyMD version 2.0.0 from the master branch (pip install https://github.com/kivymd/KivyMD/archive/master.zip)
07-29 01:30:07.924 17887 17923 I python  : [INFO   ] [Factory     ] 195 symbols loaded
07-29 01:30:08.115  2220  3994 E SchedAssist: failed to open /proc/6803/task/4188/ux_state (2): No such file or directory
07-29 01:30:08.115  2220  3994 E SchedAssist: failed to open /proc/6803/task/4189/ux_state (2): No such file or directory
07-29 01:30:08.115  2220  3994 E SchedAssist: failed to open /proc/6803/task/22945/ux_state (2): No such file or directory
07-29 01:30:08.115  2220  3994 E SchedAssist: failed to open /proc/6803/task/22944/ux_state (2): No such file or directory
07-29 01:30:08.159  4152  4152 E OsenseResClient: osenseClrSceneAction: handle is illegal
07-29 01:30:08.309 28937 28937 E OplusGestureAnimationManagerPolicy: mScreenHeight:2412 mScreenWidth:1080 mRotation:0
07-29 01:30:08.389  1378  6339 E ANDR-PERF-LM: VmRssMeter:: start() 453: Could not find pid, can not collect vmrss data
07-29 01:30:08.389  1378  6339 E ANDR-PERF-LM: AdaptiveLaunch: writeToDataBase() 64: Meter aborted or could not get meter data for this run
07-29 01:30:08.393  1378  6338 E ANDR-PERF-LM: VmRssMeter:: start() 453: Could not find pid, can not collect vmrss data
07-29 01:30:08.574 17887 17923 I python  : [INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2 (img_pil, img_ffpyplayer ignored)
07-29 01:30:08.582 17887 17923 I python  : [INFO   ] [Text        ] Provider: sdl2
07-29 01:30:08.686 17887 17923 I python  : [INFO   ] [Window      ] Provider: sdl2
07-29 01:30:08.696 17887 17923 V SDL     : setOrientation() requestedOrientation=1 width=1080 height=2412 resizable=true hint=Portrait
07-29 01:30:08.732 17887 17887 V SDL     : surfaceChanged()
07-29 01:30:08.732 17887 17887 V SDL     : Window size: 1080x2316
07-29 01:30:08.732 17887 17887 V SDL     : Device size: 1080x2412
07-29 01:30:08.732 17887 17915 E OpenGLRenderer: Unable to match the desired swap behavior.
07-29 01:30:08.733 17887 17887 D SurfaceView: 33603131 handleSyncNoBuffer
07-29 01:30:08.734 17887 17923 I python  : [INFO   ] [GL          ] Using the "OpenGL ES 2" graphics system
07-29 01:30:08.735 17887 17887 D SurfaceView: 33603131 finishedDrawing
07-29 01:30:08.735 17887 17887 D SurfaceView: 33603131 performDrawFinished mAttachedToWindow true
07-29 01:30:08.736 17887 17887 D SurfaceView: 33603131 dispatchDraw mDrawFinished true isAboveParent false (mPrivateFlags & PFLAG_SKIP_DRAW) 128
07-29 01:30:08.736 17887 17887 D SurfaceView: 33603131 clearSurfaceViewPort mCornerRadius 0.0
07-29 01:30:08.736 17887 17923 I python  : [INFO   ] [GL          ] Backend used <sdl2>
07-29 01:30:08.737 17887 17923 I python  : [INFO   ] [GL          ] OpenGL version <b'OpenGL ES 3.2 V...@0530.53 (GIT@a1cf8ab5e3, I428bf45773, 1699535026) (Date:11/09/23)'>
07-29 01:30:08.737 17887 17923 I python  : [INFO   ] [GL          ] OpenGL vendor <b'Qualcomm'>
07-29 01:30:08.737 17887 17923 I python  : [INFO   ] [GL          ] OpenGL renderer <b'Adreno (TM) 660'>
07-29 01:30:08.737 17887 17923 I python  : [INFO   ] [GL          ] OpenGL parsed version: 3, 2
07-29 01:30:08.737 17887 17923 I python  : [INFO   ] [GL          ] Texture max size <16384>
07-29 01:30:08.737 17887 17923 I python  : [INFO   ] [GL          ] Texture max units <16>
07-29 01:30:08.757 17887 17923 I python  : [INFO   ] [Window      ] auto add sdl2 input provider
07-29 01:30:08.758 17887 17923 I python  : [INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
07-29 01:30:08.861 17887 17923 I python  : [INFO   ] [Clipboard   ] Provider: android
07-29 01:30:08.994 17887 17923 I python  :  /home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/requests/__init__.py:92: RequestsDependencyWarning: Unable to find acceptable character detection dependency (chardet or charset_normalizer).
07-29 01:30:09.029 17887 17923 I python  : [DEBUG  ] [Starting new HTTPS connection (1)] api.openweathermap.org:443
07-29 01:30:09.247 17887 17923 I python  : [DEBUG  ] [https          ]//api.openweathermap.org:443 "GET /data/2.5/weather?q=chicago&appid=Lan%20API%20KEY HTTP/1.1" 401 108
07-29 01:30:09.353 17887 17923 I python  :  Traceback (most recent call last):
07-29 01:30:09.353 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 245, in create_handler
07-29 01:30:09.353 17887 17923 I python  :    File "/data/data/org.myapp.myapp/files/app/View/HomeScreen/components/components.kv", line 73, in <module>
07-29 01:30:09.353 17887 17923 I python  :      text:f"Pressure : {app.weather_data['main']['pressure']} mb"
07-29 01:30:09.353 17887 17923 I python  :      ^^^^^^^^^^^^^^^^^^^^^^
07-29 01:30:09.353 17887 17923 I python  :  KeyError: 'main'
07-29 01:30:09.353 17887 17923 I python  :  
07-29 01:30:09.353 17887 17923 I python  :  During handling of the above exception, another exception occurred:
07-29 01:30:09.353 17887 17923 I python  :  
07-29 01:30:09.353 17887 17923 I python  :  Traceback (most recent call last):
07-29 01:30:09.353 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 699, in _apply_rule
07-29 01:30:09.353 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 248, in create_handler
07-29 01:30:09.353 17887 17923 I python  :  kivy.lang.builder.BuilderException: Parser: File "/data/data/org.myapp.myapp/files/app/View/HomeScreen/components/components.kv", line 73:
07-29 01:30:09.354 17887 17923 I python  :  ...
07-29 01:30:09.354 17887 17923 I python  :       71:            Item:
07-29 01:30:09.354 17887 17923 I python  :       72:                icon:"arrow-collapse"
07-29 01:30:09.354 17887 17923 I python  :  >>   73:                text:f"Pressure : {app.weather_data['main']['pressure']} mb"
07-29 01:30:09.354 17887 17923 I python  :       74: MDSeparator:
07-29 01:30:09.354 17887 17923 I python  :       75:    MDBoxLayout:
07-29 01:30:09.354 17887 17923 I python  :  ...
07-29 01:30:09.354 17887 17923 I python  :  KeyError: 'main'
07-29 01:30:09.354 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 245, in create_handler
07-29 01:30:09.354 17887 17923 I python  :    File "/data/data/org.myapp.myapp/files/app/View/HomeScreen/components/components.kv", line 73, in <module>
07-29 01:30:09.354 17887 17923 I python  :      text:f"Pressure : {app.weather_data['main']['pressure']} mb"
07-29 01:30:09.354 17887 17923 I python  :      ^^^^^^^^^^^^^^^^^^^^^^
07-29 01:30:09.354 17887 17923 I python  :  
07-29 01:30:09.354 17887 17923 I python  :  
07-29 01:30:09.354 17887 17923 I python  :  During handling of the above exception, another exception occurred:
07-29 01:30:09.354 17887 17923 I python  :  
07-29 01:30:09.354 17887 17923 I python  :  Traceback (most recent call last):
07-29 01:30:09.354 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/app/main.py", line 99, in <module>
07-29 01:30:09.354 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/app.py", line 955, in run
07-29 01:30:09.354 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/app.py", line 925, in _run_prepare
07-29 01:30:09.354 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/app/main.py", line 62, in build
07-29 01:30:09.354 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/app/main.py", line 81, in generate_application_screens
07-29 01:30:09.354 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/app/Controller/home_screen.py", line 20, in __init__
07-29 01:30:09.354 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/app/View/base_screen.py", line 61, in __init__
07-29 01:30:09.354 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivymd/uix/behaviors/declarative_behavior.py", line 311, in __init__
07-29 01:30:09.354 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivymd/theming.py", line 1670, in __init__
07-29 01:30:09.354 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/uix/relativelayout.py", line 274, in __init__
07-29 01:30:09.354 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/uix/floatlayout.py", line 65, in __init__
07-29 01:30:09.354 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/uix/layout.py", line 76, in __init__
07-29 01:30:09.354 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/uix/widget.py", line 366, in __init__
07-29 01:30:09.355 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/uix/widget.py", line 470, in apply_class_lang_rules
07-29 01:30:09.355 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 545, in apply
07-29 01:30:09.355 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 667, in _apply_rule
07-29 01:30:09.355 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 667, in _apply_rule
07-29 01:30:09.355 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 667, in _apply_rule
07-29 01:30:09.355 17887 17923 I python  :    [Previous line repeated 5 more times]
07-29 01:30:09.355 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 665, in _apply_rule
07-29 01:30:09.355 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/uix/widget.py", line 470, in apply_class_lang_rules
07-29 01:30:09.355 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 545, in apply
07-29 01:30:09.355 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 714, in _apply_rule
07-29 01:30:09.355 17887 17923 I python  :  kivy.lang.builder.BuilderException: Parser: File "/data/data/org.myapp.myapp/files/app/View/HomeScreen/components/components.kv", line 73:
07-29 01:30:09.355 17887 17923 I python  :  ...
07-29 01:30:09.355 17887 17923 I python  :       71:            Item:
07-29 01:30:09.355 17887 17923 I python  :       72:                icon:"arrow-collapse"
07-29 01:30:09.355 17887 17923 I python  :  >>   73:                text:f"Pressure : {app.weather_data['main']['pressure']} mb"
07-29 01:30:09.355 17887 17923 I python  :       74: MDSeparator:
07-29 01:30:09.355 17887 17923 I python  :       75:    MDBoxLayout:
07-29 01:30:09.355 17887 17923 I python  :  ...
07-29 01:30:09.355 17887 17923 I python  :  BuilderException: Parser: File "/data/data/org.myapp.myapp/files/app/View/HomeScreen/components/components.kv", line 73:
07-29 01:30:09.355 17887 17923 I python  :  ...
07-29 01:30:09.355 17887 17923 I python  :       71:            Item:
07-29 01:30:09.355 17887 17923 I python  :       72:                icon:"arrow-collapse"
07-29 01:30:09.355 17887 17923 I python  :  >>   73:                text:f"Pressure : {app.weather_data['main']['pressure']} mb"
07-29 01:30:09.355 17887 17923 I python  :       74: MDSeparator:
07-29 01:30:09.355 17887 17923 I python  :       75:    MDBoxLayout:
07-29 01:30:09.355 17887 17923 I python  :  ...
07-29 01:30:09.355 17887 17923 I python  :  KeyError: 'main'
07-29 01:30:09.355 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 245, in create_handler
07-29 01:30:09.355 17887 17923 I python  :    File "/data/data/org.myapp.myapp/files/app/View/HomeScreen/components/components.kv", line 73, in <module>
07-29 01:30:09.355 17887 17923 I python  :      text:f"Pressure : {app.weather_data['main']['pressure']} mb"
07-29 01:30:09.355 17887 17923 I python  :      ^^^^^^^^^^^^^^^^^^^^^^
07-29 01:30:09.355 17887 17923 I python  :  
07-29 01:30:09.355 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 699, in _apply_rule
07-29 01:30:09.355 17887 17923 I python  :    File "/home/lan/Wheatherapp/.buildozer/android/platform/build-arm64-v8a/build/python-installs/myapp/arm64-v8a/kivy/lang/builder.py", line 248, in create_handler
07-29 01:30:09.355 17887 17923 I python  :  
07-29 01:30:09.355 17887 17923 I python  : Python for android ended.
07-29 01:30:09.578  2220  3882 E OAPM    : activity preload is not enabled
07-29 01:30:09.597  2220  3764 E UAH_JNI : uah_event_acquire ! cmdId: 0 ,strPkg: com.android.launcher, strIdent: com.android.server.wm, timeout: 600
07-29 01:30:09.604  1645  1645 E BpTransactionCompletedListener: Failed to transact (-32)
07-29 01:30:09.605  4152  4152 E SideSlipGesturesGuideHelper[u0]: canShowSwipeUpGuide launcher is null
07-29 01:30:09.610  2220  4159 E SchedAssist: failed to open /proc/4152/task/6681/ux_state (2): No such file or directory
07-29 01:30:09.610  2220  4159 E SchedAssist: failed to open /proc/4152/task/14785/ux_state (2): No such file or directory
07-29 01:30:09.610  2220  4159 E SchedAssist: failed to open /proc/4152/task/31839/ux_state (2): No such file or directory
07-29 01:30:09.612  2220  2793 E OplusThermalStats: Error getting package info: com.android.launcher
07-29 01:30:09.615  6418  6483 E Battery : ThermalControlConfig: TsensorPolicy featureConfig is null
07-29 01:30:09.621 11921 11960 E OpenGLRenderer: Unable to match the desired swap behavior.
07-29 01:30:09.626  4152  4428 E OpenGLRenderer: Unable to match the desired swap behavior.
07-29 01:30:09.627  2220  3764 E SchedAssist: failed to open /proc/4152/task/6681/ux_state (2): No such file or directory
07-29 01:30:09.627  2220  3764 E SchedAssist: failed to open /proc/4152/task/14785/ux_state (2): No such file or directory
07-29 01:30:09.627  2220  3764 E SchedAssist: failed to open /proc/4152/task/31839/ux_state (2): No such file or directory
07-29 01:30:09.630 11921 11921 E NetworkErrorMessage: (REDACTED) Invalid connectivity state: %s
07-29 01:30:09.633 28906 28918 E metis_v2_FactManager: There is no subModel: com.oplus.linker
07-29 01:30:09.653  6803  6865 E OplusShellTransition: couldn't get animation style packageName, android.window.OplusTransitionExtendedInfo.getAnimationStylePackageName []
07-29 01:30:09.662 28937 28937 E OplusGestureAnimationManagerPolicy: mScreenHeight:2412 mScreenWidth:1080 mRotation:0
07-29 01:30:10.680  1378  6339 E ANDR-PERF-LM: VmRssMeter:: start() 453: Could not find pid, can not collect vmrss data
07-29 01:30:10.680  1378  6338 E ANDR-PERF-LM: VmRssMeter:: start() 453: Could not find pid, can not collect vmrss data
07-29 01:30:10.680  1378  6339 E ANDR-PERF-LM: AdaptiveLaunch: writeToDataBase() 64: Meter aborted or could not get meter data for this run
07-29 01:30:10.689  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:30:10.690  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:30:12.137  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:30:12.191  5342  5366 E horae   : 0: back:29760,frame:28572,front:28240, 1, +(915), 1 ,29500,35290,31250,30675
07-29 01:30:12.991  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:30:12.991  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:30:14.258 28906 29051 E ActivityThread: Failed to find provider info for com.oplus.dmp.daemon.provider
07-29 01:30:14.259 28906 29051 E DaemonObserver: call Dmp:remote failed: Acquired ContentProviderClient is null
07-29 01:30:15.866  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:30:15.867  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:30:17.193  5342  5366 E horae   : 0: back:29132,frame:28236,front:27876, 1, +(1626), 1 ,29500,33774,31050,30758
07-29 01:30:17.998  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:30:19.610  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:30:20.190  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:30:20.192  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:30:21.625  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
[INFO] Logcat stopped.
07-29 01:30:21.626  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact
07-29 01:30:23.069  4404  5403 E adv_data_processor: adv data modified, but len check fail or data invalid, stay intact

Best regards
Lan

pedro h

unread,
Jul 28, 2026, 7:39:49 PM (6 days ago) Jul 28
to Kivy users support
Hi Lan,

Thanks - this confirms it: same line still shows up (appid=Lan%20API%20KEY), so it's the exact same placeholder issue from my last message. You'll need to actually edit View/HomeScreen/components/weather_api_data.py, replace "Lan API KEY" with your real OpenWeatherMap key, save, and rebuild the APK before testing again.

Once that's done, give it another go and send over the log!

Best regards,
Pedro

Lan Le-Dinh

unread,
Jul 28, 2026, 7:41:07 PM (6 days ago) Jul 28
to kivy-...@googlegroups.com
Hi Pedro
You are right!
I just checked it.
Now I put my api key in it now and run again to see what happens.
Best regards
Lan

Lan Le-Dinh

unread,
Jul 28, 2026, 7:47:39 PM (6 days ago) Jul 28
to kivy-...@googlegroups.com
Hi Pedro
Thanks for pointing that out.
I used this key before in another Kivy app and it worked. I checked the key recently.
For some reason I did not enter the api key into your Weatherapp.
Best regards
Lan

Message has been deleted

pedro h

unread,
Jul 28, 2026, 7:51:11 PM (6 days ago) Jul 28
to Kivy users support
Hi Lan,

No worries at all, easy thing to miss with everything else going on! Since you already know the key works from your other Kivy app, this should be quick - just drop it into weather_api_data.py, rebuild, and give it a try.

Looking forward to hearing how it goes!

Best regards,
Pedro

Lan Le-Dinh

unread,
Jul 28, 2026, 8:00:26 PM (6 days ago) Jul 28
to kivy-...@googlegroups.com
Hi Pedro
I rebuilt it and now it works fine:
image.png

Amazing!
I know that your approach is promising.
Thanks for your great help.

Best regards
Lan

Lan Le-Dinh

unread,
Jul 28, 2026, 8:03:02 PM (6 days ago) Jul 28
to kivy-...@googlegroups.com
Hi Pedro
BTW This is a screenshot from the Mumu player emulator on my PC.
It seems to be good for testing APK.

Best regards
Lan

pedro h

unread,
Jul 28, 2026, 8:09:13 PM (6 days ago) Jul 28
to Kivy users support

Hi Lan,

That's fantastic news - really glad to hear it's working now! Thanks so much for sticking with it through all the back and forth, and for testing the new Logcat system so thoroughly along the way. It genuinely helped a lot.

Also, thanks for the MuMu Player tip, good to know! I'll keep that in mind for quick testing without needing a physical device every time.

Enjoy your working Weather app, and don't hesitate to reach out if anything else comes up!

Best regards,
Pedro

Lan Le-Dinh

unread,
Jul 29, 2026, 12:53:39 AM (6 days ago) Jul 29
to kivy-...@googlegroups.com
Hi Pedro
Thanks for making the app work.
I am happy to help test your app. Just let me know.
Please let me know about speech-to-text and text-to-speech too.
Best regards
Lan

pedro h

unread,
Jul 29, 2026, 3:58:13 PM (5 days ago) Jul 29
to Kivy users support

Hi Lan,

thank you very much for your feedback!

The modules for Speech‑to‑Text, Text‑to‑Speech, and camera text recognition are already fully finished. I’m currently working on the documentation so you can rebuild everything step by step. Over the next few days, the general documentation will be available in APK Builder Studio, so you can already test and integrate the basic features.

With these modules you will be able to:

  • point the camera at any text → Text Recognition detects it → Text‑to‑Speech reads it aloud

  • speak into the microphone → Speech‑to‑Text generates the text → you can save or process it further

Once the documentation is online, you can rebuild everything easily.

After that, I will prepare the documentation for my larger project, the T.A.U. app. The app itself is already finished, but it is more complex. T.A.U. is a complete voice assistant: Speech‑to‑Text → Llama or Flash → Text‑to‑Speech. You can talk to the app naturally, ask questions, solve calculations, or request information. The responses are extremely fast — usually within about one second — which makes the interaction feel very natural.

Later on, I plan to integrate weather features as well: Either by sending the weather data directly to Llama/Flash, or by extracting the text inside the app and letting TTS read it aloud. I also want to add a dedicated weather screen with icons for temperature, wind, and other data.

If you feel like joining the project, you’re very welcome — for example by helping with the weather screen, the icons, or other modules. You already understand the structure well, and I would be happy to collaborate with you.

If you don’t have time to join, I will still upload T.A.U. to GitHub in the next few days — without documentation and without the weather integration for now. You can already look at the project structure and see how the app is built.

Best regards, Pedro

Reply all
Reply to author
Forward
0 new messages