我最近刚刚开始使用 kivy 进行开发以进行测试并构建第一个 .apk ,所以我想到了一个问题。
main.py 包含源代码,如果我想分发我的 apk,我可能不想“可读”......所以当我为 google play 创建 .apk 时,有没有办法编码或隐藏我的主代码商店或作为普通的 linux 应用程序?
多谢你们!
我最近刚刚开始使用 kivy 进行开发以进行测试并构建第一个 .apk ,所以我想到了一个问题。
main.py 包含源代码,如果我想分发我的 apk,我可能不想“可读”......所以当我为 google play 创建 .apk 时,有没有办法编码或隐藏我的主代码商店或作为普通的 linux 应用程序?
多谢你们!
.py 没有发送到 apk 中,只有 .pyo(Python 字节码,优化版本,无文档字符串)。尽管如此,字节码还是可以颠倒过来的。
您可以使用Cython生成应用程序的 C (.pyx -> .c -> .so)。main.py 所能做的就是:
from myencodedlib import run
run()
你会有一个 myencodedlib.pyx ,其中包含你想要编译成二进制 C 的所有东西。(附带说明,python-for-android 需要一个配方来编译 python 扩展。查看 recipes/ 目录以了解它是如何为别人做的。)
最后一点,.so 对于更高级的黑客来说仍然是可反编译的。但是你会有一堆 cpython 调用,带有生成的变量名称。理解它需要几个小时。:)