-
Notifications
You must be signed in to change notification settings - Fork 508
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
To make android build through buildozer work in native Windows without WSL2/ VirtualBox etc #1651
Comments
I have been working on addressing this issue for a few weeks now. It is a non-trivial change, especially for python-for-android. My development motto has been "It probably won't happen in my lifetime, but I want to make it possible in my grandchildren's lifetime." I started with Buildozer. In my prototyping, I am getting as far as the first python-for-android call. To achieve the goal, I have been breaking apart the Buildozer object into separate files: #1632, #1639, #1647 (still awaiting review) The latter is the key one. It provides platform-agnostic infrastructure for most of the key operations (excluding python-for-android). Once it is merged, I will be issuing a number of PRs to slowly migrate across from the old operations to the new ones. Apart from that, there have been some specific points where the Windows code wasn't working: #1628. #1648 (awaiting review) When all of that is finished, I expect to have Buildozer able to perform all of the operations on native Windows EXCEPT:
If you would like to help out, I can certainly find stuff to do, but the bottleneck is PR reviews, so I am not sure extra coders will help. |
This is a status report/info dump about the state of play in allowing Buildozer to support the Android target on Windows: Brief Summary: A small dent has been made in the mountain of work over the past few months. It clears the path for future work (and has also improved the quality and performance of a lot of code unrelated to Windows), but hasn't delivered anything useful to the user. Background for those new to the project:
What needs to be done to make Buildozer work on Windows?
Right now, with the experimental environment variable, a patch for the AIDL name and with no SDK license acceptance, Buildozer can successfully run init/help/version/clean and all other non-target-specific commands. When asked to build, it can successfully:
It falls over as soon as it is time to call p4a. P4a is the most important next step.
|
Description
Currently, buildozer can only build for android on Linux OS. For usage through Windows, its suggested to use either WSL2 or VirtualBox, etc. But, on reviewing the internal codebase, it seems we can support native Windows build for android without using any hacks. We have to just have the commands issued to the shell to be platform compliant. Either we can use cmd or powershell for that. The only other part that I am not fully covered up for to achieve this , is the requirements of buildozer. Once, we can figure the list of dependencies that might be needed for native Windows or can port the Linux dependencies counterparts for Windows, we can safely have native Windows build for android.
To further support the claim, we can see that beehive project supports android building natively without any OS specific dependencies(beg to differ?). Also, as we are using the cmdline-tools to build for android and as these tools are also released for Windows by Android project so we can safely do the compilation on native Windows.
Moreover, this feature will help a lot of Windows user who may be unfamiliar with Linux or WSL2 and they can just as comfortably do the build without doing anything specific, just like how Android Studio does it on Windows. This will give extra ease of use and for future, we can have a cross-platform Android Studio like project using Kivy resources for build.
The text was updated successfully, but these errors were encountered: