Hello, maybelline o can help You, send messenge and i tell step by step how to build the APK from .py file
--
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/9893ba31-0ac7-4b16-bae4-21a65281b478n%40googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/kivy-users/1c15ed79-8a6b-4af3-a9fe-12c4b991a52en%40googlegroups.com.
Hi Lan,
To see if my setup can help you, I need to know a bit more: Are you working on a Windows machine and which KivyMD version are you using?
I’ve developed a small automation that sets up the entire environment (WSL, Android SDK, NDK, etc.) automatically. It’s a GUI-based setup designed to handle the process without terminal commands, which might be easier than following manual documents.
If you are on Windows, I can share the access with you so you can check if it works for your specific project. Let me know your specs!
To view this discussion visit https://groups.google.com/d/msgid/kivy-users/119d0f40-8b44-4192-b710-b209f0772620n%40googlegroups.com.
"Hi Lan,
I have built a tool that handles the WSL installation and the specific NDK/SDK versions automatically. Since you are on Windows 11, it should work fine and you don't have to set up everything manually to avoid the version mismatches.
You can check it out here, everything is explained on how to get an APK build running: 🔗 https://github.com/PedroHSA0802/apk-builder-studio
Let me know if it works for you."
To view this discussion visit https://groups.google.com/d/msgid/kivy-users/CAJiM4H99Wo_QoBEDp%2BvC7i2tHjSvUEs4zOcFKC3xus1EVM%2BKLw%40mail.gmail.com.
Setting up a full virtual machine is definitely a valid path, but as I found out when I started, it’s often more complicated than it looks.
I personally moved away from that because I didn't want to manage gigabytes of VM images and deal with the manual setup every time. That’s exactly why I focused on developing a way to build APKs directly on Windows using WSL—it gives you a clean Linux environment without the overhead of heavy third-party virtualization software.
In my experience, this automated WSL method has led to consistent and reproducible builds. Of course, a full VM remains a solid alternative for those who prefer the manual installation and configuration process.
Whichever way one chooses, the ultimate goal is to get that APK running!
To view this discussion visit https://groups.google.com/d/msgid/kivy-users/4d9edbcc-ca95-43f2-884a-09efd96ca0f8n%40googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/kivy-users/43ecfcbc-3ab8-40fd-ab65-d92816f1086an%40googlegroups.com.
I completely agree, kxj—the version mismatch between Cython and Python is the number one reason builds fail. However, that’s exactly why I didn't go the 'global install' route. My tool uses a Template-based Environment Strategy:
Environment Pre-Configuration: Before even touching Buildozer, my app uses a 'Config Editor' to set up the WSL environment. You can literally copy-paste the entire configuration from a text file or any specific requirements into this editor window.
Isolated Setup: The tool then builds a fresh, isolated virtual environment based on that 'recipe'. This ensures the 'workshop' is perfectly prepared before the actual build starts.
Reproducibility: You can share these 1KB config files. If someone has a working setup for an old Kivy project, they just share the text, and my tool recreates that exact environment on any Windows machine.
Here is the environment 'recipe' (Pre-Build Config) I use for a stable KivyMD 2.0.1 setup. You can simply paste this into the App's Config Editor:
To view this discussion visit https://groups.google.com/d/msgid/kivy-users/b6f00ca8-b528-4413-908e-a8e6b00cde67n%40googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/kivy-users/b6f00ca8-b528-4413-908e-a8e6b00cde67n%40googlegroups.com.
Hi kxj,
Thank you for the clarification. I completely understand that as an experienced developer, you wouldn't use a global installation and that you rely on python venvs for proper version control. My tool actually follows that same principle: it creates isolated environments within WSL to keep everything clean.
My approach follows the same logic of stability as yours, but with a much leaner way of managing it: Text files instead of Gigabytes. Instead of saving an entire environment or venv as a heavy image file or snapshot, I use simple TXT files. The app features a built-in editor where you can paste your requirements (Python version, packages, SDK specs). Once saved, the tool builds the complete WSL environment and the necessary venvs strictly according to this recipe at the push of a button.
The major advantage is the portability: If a user creates a perfect configuration for a specific KivyMD version, they can simply share this recipe as a text file with someone else. That person just copies the text into their app's editor, clicks install, and gets the exact same build environment on their PC—without ever typing a single command into a terminal. You can keep a folder full of these tiny recipes for different projects and bring them back to life anytime via copy-paste. It’s the same result as your VM snapshots, but we’re talking about kilobytes instead of gigabytes.
Of course, I am still in the testing phase and haven't had the chance to personally verify the transfer of a config file to a different PC yet to see if it creates the exact same environment there. However, since the app installs strictly according to these instructions, I am very confident that it works. That is exactly the goal of my work—to make the process as portable and simple as possible.
Lastly, I want to emphasize that I am fully convinced of your approach as well. I know that working with virtual machines is a proven and effective method. In the end, your way is just as right as any way someone finds that works best for them.