文中有些东西不科学上网下载不了,可以从这里下: Android_免费高速下载 | 百度网盘 - 分享无限制
一、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。
【2018.05.14 更新】这里注意看 ecliplse 右下角安装条,安装好之后会自动提示是否重启。
四、安装 Android SDK#
下载: http://dl.google.com/android/android-sdk_r24.2-linux.tgz
tar -xvf android-sdk_r24.2-linux.tgz
cd android-sdk-linux/tools
./android update sdk --no-ui
vi ~/.zshrc
export 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 ~/.zshrc
sudo apt-get install libc6:i386 libstdc++6:i386
sudo apt-get install zlib1g:i386
上面 update 那一步很慢很慢,而且还会出现 connect refused 的情况,无视就好,耐心等,可以去看一部电影。
【2018.05.14 更新】今儿在 mac 上无法更新 sdk,上网找到了解决办法 ------------
-
./sdk/tools/android 运行 sdk
-
打开设置, 在『Android SDK Manager - Settings』窗口中,在「HTTP Proxy Server」和「HTTP Proxy Port」输入框内填入 mirrors.neusoft.edu.cn 和 80,并且选中「Force https://… sources to be fetched using http://…」复选框。设置完成后单击「Close」按钮关闭『Android SDK Manager - Settings』,窗口返回到主界面;
-
依次选择「Packages」、「Reload」。
打开 eclipse》》Window》》Preferences》》Android,选择 SDK 目录位置,apply。
五、配置 NDK#
1. 先去下载: NDK 下载 | Android NDK | Android Developers
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++ 代码。
- 下载并解压 OpenCV-2.4.9-android-sdk
7. 在 jni 目录下创建 Android.mk 文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
######################################
# change this folder path to yours
NCNN_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:=off
OPENCV_INSTALL_MODULES:=on
#OPENCV_LIB_TYPE:=SHARED
include /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-math
LOCAL_CPPFLAGS := -O2 -fvisibility=hidden -fvisibility-inlines-hidden -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -ffast-math
LOCAL_LDFLAGS += -Wl,--gc-sections
LOCAL_CFLAGS += -fopenmp
LOCAL_CPPFLAGS += -fopenmp
LOCAL_LDFLAGS += -fopenmp
LOCAL_LDLIBS += -lm -llog -landroid -lz -ljnigraphics
include $(BUILD_SHARED_LIBRARY)
8. 上面 Build 右边有个带红色文件夹的 Build 按钮,
打开 External Tools Configurations,
Location 找到 NDK 中 ndk-build 路径,
Working Directory 可以统一填写 “${project_loc}${system_property.separator} ”
Refresh 选第三个,同上
Build 选第二个,同上
单击带红色文件夹的 Build 按钮,选 ndk_build。
出现 libs 和 obj 目录。我们要的.so 库就在 libs 目录下的 armeabi 目录中。
r10 以后版本的 NDK 都没有了 samples 目录,也就没有了 hello-jni 这个样例。
我这里发出来: hello-jni.tgz