Frequently asked questions¶
Does an ApkPy APK contain Python?¶
No. ApkPy generates Java, XML, resources and a Gradle project. The APK runs as a native Android application without embedding a Python interpreter.
Can I open the result in Android Studio?¶
Yes. apkpy build creates a normal Android project that can be inspected and
compiled in Android Studio.
Which Python libraries can I use?¶
ApkPy translates the Python you write apps with (the list)
and, in place of pip packages, brings its own APIs for HTTP, data, files,
background work and the device. Your code becomes Java when you build, so the
APK carries no interpreter.
Is the Hot Previewer an Android emulator?¶
It is a desktop renderer built for the edit loop: layout, navigation, callbacks and storage, with simulations for the notification drawer, NFC tags, contacts, biometrics, sensors, battery, GPS and push. Permissions, services, codecs, FCM and each manufacturer's own behaviour are then checked on an emulator or a phone.
Can I read or write NFC tags?¶
Since 1.9.0, ApkPy can read tag IDs, NDEF text and URLs and write a single text/URL record to a compatible spare tag. See the complete NFC guide and app.
No runtime NFC permission popup is needed: the compiler declares the normal permission and optional hardware. The person still has to enable NFC. Reading is foreground-only, the desktop panel is a simulator, and writes replace the tag's existing records. This is not card emulation or support for bank cards.
Can I choose or edit a contact?¶
Since 1.9.0, contacts.pick() selects one phone
or email without broad address-book permission. list()/get() ask for read
access. create()/edit() open the native editor without WRITE_CONTACTS;
their callback reports editor return, not confirmed saving. There is no direct
delete API. The Previewer uses fictional data. See the
complete guide and People Desk app.
Can ApkPy build a complete social or delivery app?¶
It can generate much of the native client. Accounts, moderation, payments, recommendations, dispatch and canonical server data remain application infrastructure. See Can ApkPy build this?.
Is local data encrypted?¶
ApkPy provides encrypted local values and password hashing, but security still depends on correct key handling, server authorization and threat modeling.
Can an AI coding assistant write ApkPy apps?¶
Yes. Every project made by apkpy start, apkpy init or apkpy examples
has an AGENTS.md (and a CLAUDE.md pointing at it) that Codex, Cursor,
Copilot, Claude Code and others read first; apkpy agents adds it to an
older project. It teaches the assistant the whole ApkPy API, so it writes
correct ApkPy from the first screen. An assistant with web access can also
read llms.txt, a map of these
docs, and llms-full.txt, the
docs in one file. See Getting started.
Is the generated project conditional?¶
Yes. Feature helpers and dependencies are emitted only when the source uses the matching capability.
What happens to work when the app is closed?¶
Work declared with background_job() is handed to WorkManager, which stores
the queue in its own database. It survives backgrounding, process death and a
reboot, and runs when the declared constraints allow it. See
Background jobs.
Is ApkPy open source?¶
Yes, since 1.13.0, under the Apache License 2.0. You can read, change and redistribute the whole of it, and an exception in the licence leaves the apps you build free of its conditions. See Licence and project continuity.