【Android】在ecplise上配置ADT, SDK, NDK以及用C/C++代码生成其他平台.so库的简单流程(Ubuntu 14.04)

来源:互联网 发布:linux run parts 编辑:程序博客网 时间:2024/06/04 19:24

文中有些东西不科学上网下载不了,可以从这里下:https://pan.baidu.com/s/1skIr0WP

一、JDK(JAVA SDK)安装

sudo apt-get install openjdk-7-jdk

二、Eclipse去官网下载安装就好。
三、安装ADT步骤:

1.先去下载:dl.google.com/android/ADT-23.0.2.zip

2.打开eclipse 》》help》》Install New Software》》add,选上面下载的zip包,根据提示安装好,最后重启eclipse。

四、安装Android SDK

下载:http://dl.google.com/android/android-sdk_r24.2-linux.tgz

tar -xvf android-sdk_r24.2-linux.tgzcd android-sdk-linux/tools./android update sdk --no-uivi ~/.zshrcexport PATH=${PATH}:$HOME/sdk/android-sdk-linux/platform-tools:$HOME/sdk/android-sdk-linux/tools:$HOME/sdk/android-sdk-linux/build-tools/22.0.1/source ~/.zshrcsudo apt-get install libc6:i386 libstdc++6:i386sudo apt-get install zlib1g:i386

上面update那一步很慢很慢,而且还会出现connect refused的情况,无视就好,耐心等,可以去看一部电影。

打开eclipse》》Window》》Preferences》》Android,选择SDK目录位置,apply。

五、配置NDK

1.先去下载:https://developer.android.google.cn/ndk/downloads/index.html

2.解压缩

3.打开eclipse》》Window》》Preferences》》Android》》NDK,选择NDK目录位置。


六、简单说下用C/C++代码生成可供ARM用的.so库的流程

1.创建android项目

2.将C/C++代码放入jni目录

3.在src目录下创建source folder,写.java文件

4.上面Build右边有个带红色文件夹的Build按钮,

    打开External Tools Configurations,





在jni目录下生成.h头文件。

5.根据头文件修改C/C++代码成接口形式

6. 下载并解压OpenCV-2.4.9-android-sdk

7.在jni目录下创建Android.mk文件

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)####################################### change this folder path to yoursNCNN_INSTALL_PATH := /home/hans/ncnn/build-android-armv7  #####改include $(CLEAR_VARS)LOCAL_MODULE := ncnn  ####改LOCAL_SRC_FILES := $(NCNN_INSTALL_PATH)/libs/armeabi-v7a/libncnn.a  ####改include $(PREBUILT_STATIC_LIBRARY)include $(CLEAR_VARS)##################################################default#OPENCV_CAMERA_MODULES:=off#OPENCV_INSTALL_MODULES:=offOPENCV_INSTALL_MODULES:=on#OPENCV_LIB_TYPE:=SHAREDinclude /home/hans/eclipse/OpenCV-2.4.9-android-sdk/sdk/native/jni/OpenCV.mk   ####改#####################################LOCAL_MODULE    := FMInterface   ####改LOCAL_SRC_FILES := featureMap.cpp  ###改######################################LOCAL_C_INCLUDES += $(NCNN_INSTALL_PATH)/install/include   ####改LOCAL_STATIC_LIBRARIES := ncnn  ####改LOCAL_CFLAGS := -O2 -fvisibility=hidden -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -ffast-mathLOCAL_CPPFLAGS := -O2 -fvisibility=hidden -fvisibility-inlines-hidden -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -ffast-mathLOCAL_LDFLAGS += -Wl,--gc-sectionsLOCAL_CFLAGS += -fopenmpLOCAL_CPPFLAGS += -fopenmpLOCAL_LDFLAGS += -fopenmpLOCAL_LDLIBS    += -lm -llog -landroid -lz -ljnigraphicsinclude $(BUILD_SHARED_LIBRARY)


8.上面Build右边有个带红色文件夹的Build按钮,

    打开External Tools Configurations,

    Location找到NDK中ndk-build路径,

    Working Directory可以统一填写“ ${project_loc}${system_property:file.separator} ”

    Refresh选第三个,同上

    Build选第二个,同上

单击带红色文件夹的Build按钮,选ndk_build。

出现libs和obj目录。我们要的.so库就在libs目录下的armeabi目录中。



r10以后版本的NDK都没有了samples目录,也就没有了hello-jni这个样例。

我这里发出来:http://download.csdn.net/download/renhanchi/9977784


阅读全文
0 0
原创粉丝点击