一直在断断续续学习【非虫】大大的《Android软件安全与逆向分析》,刚刚开通博客,算是一个学习轨迹记录吧~希望看完书做完实验能所成长!(ง •̀_•́)ง
*使用gcc编译器手动编译*使用ndk-build工具手动编译*使用Eclipse创建工程并自动编译
结合网上的资料加上自己的实现,配置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/<你的盘符>/
(4) 使用NDK编译
在dos环境下输入“bash”或者直接打开cygwin,输入:
进入到NDK文件夹则表示上一步配置成功,接着进入里面的samples文件夹,这里选择案例中的hello-jni来编译。
进入hello-jni文件夹,输入:
这样基础的编译工作就完成啦~ (* ̄∇ ̄*)看到以上提示则表示编译成功,在hello-jni文件夹中的libs/armeabi/生成文件: