Android NDK编译环境配置
2016-06-29 20:56
218 查看
一直在断断续续学习【非虫】大大的《Android软件安全与逆向分析》,刚刚开通博客,算是一个学习轨迹记录吧~希望看完书做完实验能所成长!(ง •̀_•́)ง
*使用ndk-build工具手动编译
*使用Eclipse创建工程并自动编译
(1) 下载Android NDK
官网:http://wear.techbrood.com/tools/sdk/ndk/
下载完解压得到一个文件夹,里面有用到的所有文件。
(2) 下载cygwin
Cygwin是一个在windows平台上运行的类UNIX模拟环境。官网:https://www.cygwin.com/
下载完成后,单击安装,需要注意的是一定要选择下载Devel开发工具包(如下图),里面包含了gcc编译器,单击“Default”可以将状态切换成“Install”。
(3) Cygwin环境配置:
在系统变量Path后面加上cygwin的安装目录,例如:C:\cygwin\bin ,这样在dos下输入“bash”可以直接进入cygwin环境;
在系统变量Path后面加上NDK文件夹的目录,例如:E:\android\android-ndk-r8;
定义一个系统变量NDK_ROOT=E:\android\android-ndk-r8,注意这个命令在cygwin下 cd $NDK_ROOT可以快速定位到E:\android\android-ndk-r8,在cygwin下显示为/cygdrive/e/android/android-ndk-r8,当然系统变量名称可以自拟。
在cygwin文件夹中找到一个home\<你的用户名>\.bash_profile文件,打开bash_profile文件,添加NDK=/cygdrive/<你的盘符>/<android
ndk 目录> 如:
(4) 使用NDK编译
在dos环境下输入“bash”或者直接打开cygwin,输入:
进入到NDK文件夹则表示上一步配置成功,接着进入里面的samples文件夹,这里选择案例中的hello-jni来编译。
进入hello-jni文件夹,输入:
看到以上提示则表示编译成功,在hello-jni文件夹中的libs/armeabi/生成文件:
这样基础的编译工作就完成啦~ (* ̄∇ ̄*)
第7章 Android NDK程序逆向分析 ——7.1.2 如何编译原生程序
1. 三种编译方法
*使用gcc编译器手动编译*使用ndk-build工具手动编译
*使用Eclipse创建工程并自动编译
2.使用ndk-build工具手动编译(许多步骤来自网络,这里只是整理加上一些自己实验的心得)
结合网上的资料加上自己的实现,配置NDK的环境的过程如下:(1) 下载Android NDK
官网:http://wear.techbrood.com/tools/sdk/ndk/
下载完解压得到一个文件夹,里面有用到的所有文件。
(2) 下载cygwin
Cygwin是一个在windows平台上运行的类UNIX模拟环境。官网:https://www.cygwin.com/
下载完成后,单击安装,需要注意的是一定要选择下载Devel开发工具包(如下图),里面包含了gcc编译器,单击“Default”可以将状态切换成“Install”。
(3) Cygwin环境配置:
在系统变量Path后面加上cygwin的安装目录,例如:C:\cygwin\bin ,这样在dos下输入“bash”可以直接进入cygwin环境;
在系统变量Path后面加上NDK文件夹的目录,例如:E:\android\android-ndk-r8;
定义一个系统变量NDK_ROOT=E:\android\android-ndk-r8,注意这个命令在cygwin下 cd $NDK_ROOT可以快速定位到E:\android\android-ndk-r8,在cygwin下显示为/cygdrive/e/android/android-ndk-r8,当然系统变量名称可以自拟。
在cygwin文件夹中找到一个home\<你的用户名>\.bash_profile文件,打开bash_profile文件,添加NDK=/cygdrive/<你的盘符>/<android
ndk 目录> 如:
(4) 使用NDK编译
在dos环境下输入“bash”或者直接打开cygwin,输入:
进入到NDK文件夹则表示上一步配置成功,接着进入里面的samples文件夹,这里选择案例中的hello-jni来编译。
进入hello-jni文件夹,输入:
看到以上提示则表示编译成功,在hello-jni文件夹中的libs/armeabi/生成文件:
这样基础的编译工作就完成啦~ (* ̄∇ ̄*)
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories