【Android】Eclipse自動編譯NDK/JNI的三種方法
SkySeraph Sep. 18th 2014
一、Eclipse關聯cygwin
1. 工程->右擊選擇Properties->選擇Builders,在Builders中選擇New建立一個Program
2. 引數配置
二、Eclipse關聯ndk-build(自建Builder方法)
1. Project->Properties->Builders->New,新建一個Builder
2. 引數配置
2.1 Main
①Name:NDK_Builder
②Location為ndk-build.cmd的路徑,可以如圖所示絕對路徑,也可以以環境變數的形式,即 ${ANDROID_NDK}\ndk-build.cmd,其中ANDROID_NDK為配置的NDK路徑
③Working Directory,為當前的工程下。
這裡的${}的表達是使用了EC的環境變數,可以使用Variables...按鈕找到一些3 EC的環境變數。
對於Linux上的配置,和這裡的配置一樣,只是把Location的地址改為ndk-build即可
2.2 Refresh
2.3 Build Options
注:Linux環境下只需修改ndk-build.cmd為ndk-build即可
三、Eclipse關聯ndk-build(利用CDT的方法)
1. 前期準備:Eclipse環境+Android環境+Eclipse C/C++環境
2. 編寫Android JAVA/JNI程式碼,可參考OpenCV例項1
3. 將Android專案轉換為C/C++專案(使其具備C++屬性),如下圖,New -> Other -> C/C++ -> Convert to a C/C++ Project.
4. 配置NDK編譯路徑,Project->Properties,如下圖,其中Build-Command中ANDROID_NDK為環境變數中配置的Android-NDK路徑;Build-Directory為當前工程目錄
5. 配置工程屬性,Project->Properties,如下圖,本例以OpenCV為例,其中CNU C和GNU C++中配置的是OpenCV的連結庫
========
By SkySeraph-2014
相關推薦
【Android】Eclipse自動編譯NDK/JNI的三種方法
SkySeraph Sep. 18th 2014 一、Eclipse關聯cygwin 1. 工程->右擊選擇Properties->選擇Builders,在Builders中選擇New建立一個Program 2. 引數配置 二、Eclip
Eclipse自動編譯NDK/JNI的三種方法
tar 項目 png variables jni space c++ 技術 and 一、Eclipse關聯cygwin 1. 工程->右擊選擇Properties->選擇Builders,在Builders中選擇New創建一個Program 2
【Javascript】JS遍歷陣列的三種方法:map、forEach、filter
前言 近一段時間,因為專案原因,會經常在前端對陣列進行遍歷、處理,JS自帶的遍歷方法有很多種,往往不加留意,就可能導致知識混亂的現象,並且其中還存在一些坑。前端時間在ediary中總結了js原生自帶的常用的對陣列遍歷處理的方法,分別為:map、forEach、filter,在講解知識點的同時,會類比相識
【Android】Eclipse自己主動編譯NDK/JNI的三種方法
comm tro mman gnu tex android項目 syn color ng- 【Android】Eclipse自己主動編譯NDK/JNI的三種方法 SkySeraph Sep. 18th 2014 Email:[email protec
【Android】Eclipse安裝ADT
這兩天準備玩下WP開發,昨天裝了win7系統,但是還要用到Android開發環境,今天又搭建了一遍。 由於眾所周知的原因,谷歌各種被牆(此處省略粗口一百萬字),不過我直接GoAgentFQ避開了。 一切順利,但是Eclipse安裝ADT遇見問題了,由於google被牆
【Android】App應用前後臺切換的一種監聽方法
Android本身並沒有提供監聽App的前後臺切換操作的方法。最近看到一種簡單巧妙的方法來監聽前後臺,這裡分享記錄一下。 一、Activity生命週期 我們知道在Android中,兩個Activity,分別為A和B。假設此時A在前臺,當A啟動B時,他們倆之間的生命週期關係如下,可
【 Thread】創建線程的2種方法
Thread run start Runnable (一)Thread類1.結構java.lang.Object |---java.lang.Thread2.創建線程的兩種方法(1)一種方法是將類聲明為Thread的子類,該子類應重寫Thread類的run方法class PrimeThrea
【轉】Java遍歷Map的四種方法
關於java中遍歷map具體哪四種方式,請看下文詳解吧。 方式一 這是最常見的並且在大多數情況下也是最可取的遍歷方式。在鍵值都需要時使用。 1 2 3 4 Map<Integer, Integer> map = new HashM
【C++】int轉換為string的兩種方法(to_string、字串流)轉載
int轉換成string的兩種方法 第一種是to_string函式,這是C++11新增的,使用非常方便,簡單查了下:C++11標準增加了全域性函式std::to_string,以及std::stoi/stol/stoll等等函式(這幾個就是string轉int,long,以及long lo
【總結】清除webbrowser cookie/session的6種方法
下面是我測試下來的6種清除webbrowser中cookie的6種方法: 往下拉有詳細用法 //方法一:呼叫 wininet.dll清除cookie (推薦) SuppressWininetBehavior(); //方法二:刪除使用者登入後的資訊,這裡相當於瀏覽器的登出功能,使用的是ie
【C/C++】求最大公約數的三種方法
一、最大公約數與最小公倍數 最大公約數,屬於數論所探究的內容。 最大公約數可以通過下面的三種方法求出來。 最小公倍數呢,它與最大公約數的乘機為所求數之積。 比如求 x,y的最大公約數和最小公倍數 記住這個公式: x*y=最小公倍數*最大公約數 二、求最大公約
【vue】vue元件傳值的三種方式
前言 vue的元件傳值分為三種方式:父傳子、子傳父、非父子元件傳值 引用官網的一句話:父子元件的關係可以總結為 prop 向下傳遞,事件向上傳遞 父元件通過 prop 給子元件下發資料,子元件通過事件給父元件傳送訊息,如下圖所示: 下面我們就開始用程式碼(一言不
【vue】vue路由傳參的三種方式
前言 vue 路由傳參的使用場景一般都是應用在父路由跳轉到子路由時,攜帶引數跳轉。傳參方式可劃分為 params 傳參和 query 傳參,而 params 傳參又可分為在 url 中顯示引數和不顯示引數兩種方式,這就是vue路由傳參的三種方式。 方式一:params 傳參(顯示
RabbitMQ知識盤點【壹】_訊息佇列介紹及三種訊息路由模式
最近在看訊息佇列的書籍,把一些收穫總結一下。 首先說說什麼是訊息佇列。這裡就不說那種教科書的定義了,以我的理解,訊息佇列就是通過接收和傳送訊息,使不同的應用系統連線起來。實現了業務系統的解耦,也跨越
【python】 List新增,刪除元素的幾種方法
python中List新增元素的幾種方法 List 是 Python 中常用的資料型別,它一個有序集合,即其中的元素始終保持著初始時的定義的順序(除非你對它們進行排序或其他修改操作)。 在Python中,向List新增元素,方法有如下4種方法(append(),extend(),insert()
【Spring】SpringMVC返回json資料的三種方式
歡迎關注公眾號: ----------------------------------------------正文---------------------------------------------------- 方式一:使用JSON工具將物件序列化成j
【C++】int轉換為string的兩種方法(to_string、字串流)
記錄一下用到過的int轉換成string的兩種方法 第一種是to_string函式,這是C++11新增的,使用非常方便,簡單查了下:C++11標準增加了全域性函式std::to_string,以及std::stoi/stol/stoll等等函式(這幾個就是string轉i
【Jquery】jQuery獲取URL引數的兩種方法
jQuery獲取URL引數的關鍵是獲取到URL,然後對URL進行過濾處理,取出引數。location.href是取得URL,location.search是取得URL“?”之後的字串,也就是說引數部
【PHP興趣部落-08】PHP中時區設定的三種方法(timezone)
一 、三種方法 php中時區預設是格林尼治時間,和中國時差八個小時。現在根據需要將時間設定為中國時間,下面整理了三種方法。 方法1: 最好的方法在php.ini里加上找到 date.timezone 項,設定date.timezone = “Asia
【C】C語言main函式的三種形式
在C語言中,main()函式有三種形式。1、無引數#include <stdio.h> int main(void) { printf("Hello World!\n"); r