C++ 在Android上执行纯二进制文件

C++ 在Android上执行纯二进制文件,c++,android-ndk,exe,C++,Android Ndk,Exe,有没有办法在Android上运行二进制可执行文件(使用NDK编译) /* #includes #defines ... */ int main(){ // Do something when this is executed return 0; } 我希望它从虚拟机独立运行。与不在活动中一样,只在进程上直接运行的二进制文件 adb push exename /data/bin/exename #next line might be needed if you are deve

有没有办法在Android上运行二进制可执行文件(使用NDK编译)

/* #includes #defines ... */

int main(){
    // Do something when this is executed
    return 0;
}
我希望它从虚拟机独立运行。与不在活动中一样,只在进程上直接运行的二进制文件

adb push exename /data/bin/exename
#next line might be needed if you are developing on Windows
adb shell chmod 777 /data/bin/exename
adb shell /data/bin/exename

但是你的设备必须是根设备。(它也可以在emulator上运行。)

我在Andrey提到的第一个答案中回答了您的疑问

试试他给的密码

adb push exename /data/bin/exename
它用于将名为“exename”的二进制文件推送到Android上的可执行路径

adb shell chmod 777 /data/bin/exename
linux中不需要这一行。它用来改变模式。 前7个代表“用户”,下一个代表“组”,最后一个代表“其他”。 更改数字将改变上述各组的模式。 7表示读取、写入和执行。 6表示读取、写入和不执行

adb shell /data/bin/exename

此代码用于执行二进制文件。哪个inturn意味着它正在终端中使用。

好的,那么这将编译成一个可以直接安装的APK,或者exe是以Davlik格式包装的,只是为了初始化吗?不是,也不是。纯二进制文件只是一个二进制文件。您可以在
Android.mk
中使用
include$(BUILD\u EXECUTABLE)
而不是
include$(BUILD\u SHARED\u LIBRARY)
来使用NDK构建这样的可执行文件。是否有任何方法从java文件(即在运行时)执行二进制文件。这在Jelly Bean上仍然有效?这个问题似乎暗示这不再有效。谢谢!通过shell命令,看起来一切都非常顺利。您不能通过移动设备上的交互在中执行吗?有没有什么方法可以建立到shell脚本的某种链接,从而导致二进制文件的执行(就像在实际的移动设备上一样,这必须通过Java完成)?哦,恐怕我帮不了你。我没有完全理解你的问题,不管我理解什么,我都不知道。你能说清楚一点吗?这样我也可以试着找。对不起。我的意思是,yuo可以通过shell命令在Android上执行二进制代码(adb shell chmod 777是在内核shell上运行的命令)。Shell脚本是基本上包含大量Shell命令的文件。有没有办法在Android设备上执行shell脚本,而不必自己键入shell命令…?好的。我不知道是否有办法在android设备中执行shellscript。一定有办法,我会调查的。我通常会使用pc中的所有脚本命令创建一个文本文件,然后在终端中运行该文件,以减少键入所有这些命令的次数。这符合我的目的。这有帮助吗?请把你认为有用的答案投上一票。:)