700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > android 编译c可执行程序 如何将C编译成可执行二进制文件 并在Android从Android Shell运行它?...

android 编译c可执行程序 如何将C编译成可执行二进制文件 并在Android从Android Shell运行它?...

时间:2018-07-07 04:12:01

相关推荐

android 编译c可执行程序 如何将C编译成可执行二进制文件 并在Android从Android Shell运行它?...

首先,让我说我的答案取决于您使用NDK r7b(它也适用于r7c)在Linux上(适当地更改路径为其他系统)。

编辑:最后一次测试使用NDK r8e在Linux和Nexus 4与adb SDK平台工具Rev 18在Windows 7(最新版本的-07-25)无根访问。

另一个编辑:请阅读this question更改我的指南需要运行在Android 5.0(Lollypop)和更高版本的本机二进制文件。

>转到$ NDK_ROOT(解压缩时NDK zip的最顶层文件夹)。

>将$ NDK_ROOT / samples / hello-jni目录复制为$ NDK_ROOT / sources / hello-world。

>转到$ NDK_ROOT / sources / hello-world。

>编辑AndroidManifest.xml以给应用程序一个适当的名称(这是可选的)。

>转到$ NDK_ROOT / sources / hello-world / jni。这是源代码所在。

>编辑hello-jni.c,删除所有的代码,并放入你的hello世界代码。我的是:

#include

int main( int argc, char* argv[])

{

printf("Hello, World!");

return 0;

}

>编辑Android.mk并更改include($ BUILD_SHARED_LIBRARY)以包含$(BUILD_EXECUTABLE)。您还可以将LOCAL_MODULE行更改为所需的可执行文件的名称(默认值为hello-jni)

>返回$ NDK_ROOT / sources / hello-world

>运行../../ndk-build创建可执行文件。

>将它从$ NDK_ROOT / sources / hello-jni / libs / armeabi / hello-jni复制到Android设备上的/ data / local / tmp,并将其权限更改为755(rwxr-xr-x)。如果更改了$ NDK_ROOT / sources / hello-world / jni / Android.mk中的LOCAL_MODULE行,那么可执行文件名将是新值LOCAL_MODULE,而不是hello-jni。 (所有这一切都是通过adb从Android SDK。)

>使用完整路径为/ data / local / tmp / hello-jni或任何您命名的二进制文件。

你已经完成了(可以开始在$ NDK_ROOT / docs中的文档,以更好地了解要做什么)。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。