1
我知道你可以下载脚本(lua,js)并执行。是否有可能从Android应用程序下载C++编译代码并链接到它?下载在Android应用程序的cpp二进制文件
我知道你可以下载脚本(lua,js)并执行。是否有可能从Android应用程序下载C++编译代码并链接到它?下载在Android应用程序的cpp二进制文件
C++是一种编译语言,专门为CPU体系结构编译。运行应用程序的JVM无法让您专门运行二进制文件,因为这会带来巨大的安全风险,因为如果您考虑这一点,您会从应用程序本身执行外部代码。
Android甚至iOS不会让你运行你刚下载的代码。因为正如我所说过的,你将为流氓黑客开启他们的漏洞打开一扇大门。对于Lua和JavaScript来说,这是不同的,因为它可以在解释器中自成一体,并且可以安全地防止泄漏。
虽然我同意OP应该*不*这样做,您的答案并不是真的。 Java可以加载本地代码并通过JNI访问它。 Android也有这个接口。 – ephemient
@ephemient是的,你是正确的,但本机代码必须在APK中,它不能被简单地下载和执行。 –
它可以。使用完整路径将其写入内部存储和'System.loadLibrary()'。 – ephemient