现在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. export NDKROOT=/home/spring/ndk/android-ndk-r10d  
  2. export PATH=$NDKROOT:$PATH  
  3. export NDKBIN=/home/spring/ndk/android-ndk-r10d/toolchains/aarch64-linux-android-4.9/prebuilt/linux-86_64/bin  
export NDKROOT=/home/spring/ndk/android-ndk-r10dexport PATH=$NDKROOT:$PATHexport NDKBIN=/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  
ANDROID_NDK_ROOT=/cygdrive/d/ProgramFiles/Android/android-sdk/android-ndk-r10dPATH=/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位下是不支持的.

13.使用这个命令可以获得本机的arch:adb shell getprop ro.product.cpu.abi

更多相关文章

  1. Android(安卓)Makefile中是 如何识别 TARGET_PRODUCT 的
  2. JDK ANT ANDROID Configure
  3. Android(安卓)PackageInstaller:安装应用的应用
  4. 源码编译Android(安卓)4.1.2的Camera应用(Android(安卓)Studio1.
  5. Ubuntu下Android(安卓)NDK的安装及配置
  6. Android(安卓)使用模拟位置(支持Android(安卓)6.0)
  7. Does Android(安卓)Support Dual-Cores or Multi-Cores Processo
  8. ubuntu14.04 64bit主机下面安装android的NDK开发环境
  9. 使用手机调试Android软件

随机推荐

  1. Android市场官方的统计信息
  2. Android开发艺术探索—— 第十一章Androi
  3. Android(安卓)之 Looper Handler Message
  4. 【android】Android(安卓)Wi-Fi Direct
  5. 从零开始打造一个Android(安卓)3D立体旋
  6. Android(安卓)照相功能
  7. Android实现输入手机号时自动添加空格
  8. Android架构组件(三)——ViewModel
  9. Android刷机原理之recovery内部工作原理
  10. 彻底理解android binder通信架构