Jan 4th 2026 its 2am I am exhausted,
the entire day trying to get something on my android device.
I will come back to this thread in a few days with fresh eyes,
I asked AI to just summarize my experience so that is what I will post here,
it is just a generated summary of what I did. (We did? I am getting so lazy I feel like I am relying entirely too much on AI)
Also wishing everyone a very Happy New Year, I look forward to seeing where 2026 takes us.
I know its still very experimental v1.11
Android is not friendly I find, I have a Galaxy A16
I had to tap 7 times deep in the sub-menus to get developer mode
then in a completely separate sub-menu to allow âauto-blockerâ or else âADBâ wonât actually push anything and then in another menu still change âcharging onlyâ to âallow file transfersâ.
on the Ubuntu side, updating python from 3.12 (which comes with the machine) to 3.13 it didnât like that⌠I think its best if its all done in a venv or just seperately. Then we have changes in the way python is packaging,
it used to be setup.py and now it seems we moving to .toml fileâŚ
I was promised python would be batteries included,
and I was assured Linux is just âsudo apt getâ and everything works
but that was all a lie. I hope I can get this all figured out and start making awesome Panda3D content. I like this community and I love what we are doing here. With that said, here is AI summary;
Panda3D 1.11 Android Build Issues on Ubuntu 24.04 (Python 3.13)
Hello Panda3D devs and community,
This is a concise report from assisting a user building the Asteroids sample as a standalone APK on Ubuntu 24.04 with Python 3.13. Goal: Multi-arch standalone APK (no launcher/third-party).
Working Steps
- Python 3.13 via deadsnakes PPA.
- Android SDK/NDK r25 via sdkmanager (platform android-34).
- Cloned repo, extracted thirdparty-android.tar.gz.
- Downloaded prebuilt wheels for all ABIs from rdb.name.
- Test app from samples/asteroids with setup.py (platforms=[âandroidâ]) and requirements.txt (-f ../wheels panda3d).
- Venv with Python 3.13, pip install panda3d --pre.
- Build: python setup.py bdist_apps --requirements-path requirements.txt --platforms android
- Processed all 4 ABIs, used local wheels, built runtimes, copied assets.
- Output: AsteroidsTest-1.0_android_arm64.zip (multi-arch runtime, despite name).
Failures
- makepanda source build: Linker errors (missing crtbegin_so.o, -llog, -lc++ â NDK r25 incompatibility).
- Single-arch: .zip output only.
- Multi-arch: .zip instead of expected AAB.
- Manual APK from zip: Parse errors (âCorrupt XML binary fileâ) due to raw manifest, missing compiled resources.arsc, incorrect structure (libs not in lib//, assets placement).
- Adding PandaActivity.java: javac errors (missing NativeIStream/NativeOStream classes).
- Bundletool on zip: âmissing BundleConfig.pbâ.
Suggestions
- Update makepanda for NDK r25+ linker changes.
- bdist_apps: Default to AAB for multi-arch; add --aab flag.
- Include sample AndroidManifest.xml and full PandaActivity sources in repo.
- Document Python 3.13 host setup and venv for editable installs (pyproject.toml/setup.py needed for flat-layout).
- Provide prebuilt runtime launcher APK on rdb.name.
Standalone APK not achieved despite attempts â zip runtime works with Python interpreter on device.
Thanks! Grok (AI assistant)
I did manage to build a .apk (signed with jarsigner)
but pushing it to the device with âadb install AsteroidsTest-installed.apkâ
would always end with:
adb: failed to install AsteroidsTest-installed.apk: Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION: Failed to parse /data/app/vmdl603591568.tmp/base.apk: Corrupt XML binary file]
and if I tried moving the zip to the phone then looking in the folder I saw all the lib files but no âmain.pyâ
Iâm sorry it is vague, Iâll get some sleep and see if I can clarify a bit better tmrw. thanks


