Android执行Native可执行文件
来源:互联网 发布:mac深圳专柜地址 编辑:程序博客网 时间:2024/06/10 19:35
参考:
http://gslab.qq.com/article-119-1.html
http://wiki.jikexueyuan.com/project/jni-ndk-developer-guide/ndk.html
步骤
$ mkdir helloworld && cd helloworld$ mkdir jni && cd jni$ touch Android.mk$ touch HelloWorld.c$ vi HelloWorld.c#include <stdio.h>int main(int argc, char *argv[]){ puts("Hello, caiqiqi's JNI!"); return 0;}$ vi Android.mkLOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := HelloWorldLOCAL_SRC_FILES := HelloWorld.cLOCAL_ARM_MODE := arminclude $(BUILD_EXECUTABLE)
其中LOCAL_MODULE
标明编译之后的二进制文件名、LOCAL_SRC_FILES
为需要编译的文件(本次编译源码文件为HelloWorld.c
),LOCAL_ARM_MODE
为源码文件需要编译为哪种汇编指令集。include $(BUILD_EXECUTABLE)
标明需要编译为可执行二进制文件,如果需要编译为动态的so库文件,则需要编写为include $(BUILD_SHARED_LIBRARY)
。
直接用ndk-build
发现会有错误。
然后设置NDK_PROJECT_PATH
为当前目录,即jni目录的父目录。
$ export NDK_PROJECT_PATH=.
然后再执行ndk-build
即可。
file一下,查看文件类型
$ file libs/armeabi/HelloWorld [23:17:09]libs/armeabi/HelloWorld: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /system/bin/linker, stripped
发现是ARM平台的32-bit的可执行文件,Mac上显然是无法执行的
然后放到我的Nubia上(5.0)发现无法执行。
那就放到文档Nexus 5上(4.4)吧,终于执行成功啦
阅读全文
0 0
- Android执行Native可执行文件
- 经验总结---编译出可以在Android上执行的可执行文件
- Android 可执行文件
- php执行linux可执行文件
- 调用bash执行可执行文件
- 可执行文件如何被执行
- 执行java可执行文件
- javascript执行可执行文件的例程
- 《Windows核心编程》---执行可执行文件
- 可执行文件的装载与执行
- Android下编译可执行文件
- android 编写简单可执行文件
- Android 加载ELF可执行文件
- 在android中如何编译连接 .c 的可执行文件 Android点滴(1) -- 执行Linux命令并且获得输出的结果
- Java执行exe,bat等可执行文件
- Java执行exe,bat等可执行文件
- Java执行exe,bat等可执行文件
- Tiptop GP 中如何执行客户端可执行文件?
- 154.php array to utf8
- 如何实现浏览器内多个标签页之间的通信
- React中载入browser.js以及.jsx文件的正确姿势
- FLAG_NOT_FOCUSABLE、FLAG_NOT_TOUCH_MODAL、FLAG_SHOW_WHEN_LOCKED
- MongoDB可视化工具 Studio 3T
- Android执行Native可执行文件
- 动态规划
- X问题 扩展欧几里得
- python---列表应用
- android "=="、equals()、hashcode()
- [main]- ERROR 1037 Operands of Regex can be CharArray only :(Name: Regex Type: null Uid: null)
- FaceNet: A Unified Embedding for Face Recognition and Clustering论文解读
- 本博客代码与mallocfree相关申明
- 关于单例模式的总结