现在android的设备使用64位的cpu已经开始普遍了,所以有必要针对64位的cpu在ndk编译上做一些支持。

下面这篇文章转载自:

http://blog.csdn.net/fengbingchun/article/details/44491763


1.从https://developer.android.com/tools/sdk/ndk/index.html下载android-ndk-r10d-windows-x86_64.exe 和 android-ndk-r10d-linux-x86_64.bin;

2.在Ubuntu1404 64位中通过终端安装ndkr10d:./android-ndk-r10d-linux-x86_64.bin ;

3.通过命令sudo vi /etc/profile,打开profile文件,在此文件最后加入

  1. exportNDKROOT=/home/spring/ndk/android-ndk-r10d
  2. exportPATH=$NDKROOT:$PATH
  3. exportNDKBIN=/home/spring/ndk/android-ndk-r10d/toolchains/aarch64-linux-android-4.9/prebuilt/linux-86_64/bin

4.重启ubuntu,输入ndk-build,显示android ndk等相关信息,说明配置NDK成功;

5.在windows上安装android-ndk-r10d-windows-x86_64.exe,安装到D:/ProgramFiles/Android/android-sdk/目录下;

6.通过SDK Manager.exe下载5.0.1或5.1 SDK;

7.在windows下需要修改Cygwin中/.bash_profile配置,添加ndkr10d路径:

  1. ANDROID_NDK_ROOT=/cygdrive/d/ProgramFiles/Android/android-sdk/android-ndk-r10d
  2. PATH=/cygdrive/d/ProgramFiles/Android/android-sdk/android-ndk-r10d:/cygdrive/d/Soft/Java/eclipse/plugins/org.apache.ant_1.8.4.v201303080030/bin:$PATH

8.若编译x86_64,则需将Application.mk中的APP_ABI赋值为:APP_ABI := x86_64

9.若编译armv8-a,则需将Application.mk中的APP_ABI赋值为:APP_ABI := arm64-v8a

10.其它基础操作步骤可以参考:(1)、http://blog.csdn.net/fengbingchun/article/details/10439281 ; (2)、http://blog.csdn.net/fengbingchun/article/details/11580983 ; (3)、http://blog.csdn.net/fengbingchun/article/details/38798023 ;

11.APP_ABI目前能取得值包括:(1)、32位:armeabi、armeabi-v7a、x86、mips;(2)、64位:arm64-v8a,x86_64, mips64;

12. 注意事项:(1)、目前模拟器只有x86_64的没有arm64-v8a的;(2)、在用真机测试armv8-a时,最好先通过adb shell, cat /proc/cpuinfo ,来查看下真机是否是支持armv8-a;(3)、arm32和arm64有些配置参数不能共存,如-msoft-float仅在arm32位下支持,在arm64位下是不支持的.

更多相关文章

  1. android 安装卸载程序
  2. 技术|Android安装包优化
  3. Android各版本源码下载链接
  4. Android(安卓)App安装失败错误总结
  5. Android(安卓)jni调用,实现自己的JNI_OnLoad函数
  6. android 编译模块
  7. Android(安卓)编译之android.mk
  8. android 自定义文字跑马灯 支持拖拽,按住停止滚动,自定义速度
  9. android studio安装教程

随机推荐

  1. Linux 删除除了某个文件之外的所有文件
  2. 嵌入式linux系统如何微秒级采样以及while
  3. 开发板挂载vmware虚拟机linux下nfs服务器
  4. Linux下符号版本原理及实现
  5. 工作中常用的Linux命令
  6. linux从0开始----01
  7. Linux2.6内核下键盘输入设备驱动的实现
  8. 一键安装linux (附带各种命令,登录欢迎界
  9. Linux之I2C设备总结
  10. CUDA统一内存工作(具体来说,cudaMallocMana