hans

hans

【Android】ecpliseでADT、SDK、NDKを設定し、C++コードを使用して他のプラットフォームの.soライブラリを生成する簡単な手順(Ubuntu 14.04)


いくつかのものはインターネットに接続できないため、ここからダウンロードできます: 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 を開き、》》ヘルプ》》新しいソフトウェアのインストール》》追加、ダウンロードした zip ファイルを選択し、指示に従ってインストールし、最後に Eclipse を再起動します。

【2018.05.14 更新】ここで注意してください、Eclipse の右下隅にインストールバーが表示され、インストールが完了したら自動的に再起動するかどうかを確認します。

四、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 のステップは非常に遅く、接続が拒否される場合がありますが、無視してお待ちください。映画を見に行くこともできます。

【2018.05.14 更新】今日は Mac で SDK を更新できませんでしたが、解決策を見つけました ------------

  1. ./sdk/tools/android sdk を実行する

2. 設定を開き、「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」を閉じ、ウィンドウが元の画面に戻ります。

3. 順番に「Packages」、「Reload」を選択します。


Eclipse を開き》》Window》》Preferences》》Android、SDK ディレクトリの場所を選択し、適用します。

五、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 フォルダを作成し、.java ファイルを作成します。

4.Build の右側に赤いフォルダのある Build ボタンがあります。

External Tools Configurations を開きます。

1668711411366.jpg

1668711425013.jpg

1668711433624.jpg

jni ディレクトリに.h ヘッダーファイルが生成されます。

5. ヘッダーファイルに基づいて C/C++ コードを変更します。

6.OpenCV-2.4.9-android-sdk をダウンロードして解凍します。

7.jni ディレクトリに Android.mk ファイルを作成します。

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

######################################
# このフォルダパスを自分のものに変更してください
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 は 3 番目を選択します。

Build は 2 番目を選択します。

赤いフォルダのある Build ボタンをクリックし、ndk_build を選択します。

libs と obj ディレクトリが表示されます。必要な.so ライブラリは libs ディレクトリの armeabi ディレクトリにあります。

r10 以降の NDK には samples ディレクトリがなく、hello-jni のサンプルもありません。

こちらからダウンロードできます: hello-jni.tgz

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。