1. 程式人生 > >【Android】Eclipse自動編譯NDK/JNI的三種方法

【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.cmdndk-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-CommandANDROID_NDK為環境變數中配置的Android-NDK路徑;Build-Directory為當前工程目錄

    

    

 5. 配置工程屬性,Project->Properties,如下圖,本例以OpenCV為例,其中CNU CGNU C++中配置的是OpenCV的連結庫

     

========

By SkySeraph-2014 

相關推薦

AndroidEclipse自動編譯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

JavascriptJS遍歷陣列的方法:map、forEach、filter

前言   近一段時間,因為專案原因,會經常在前端對陣列進行遍歷、處理,JS自帶的遍歷方法有很多種,往往不加留意,就可能導致知識混亂的現象,並且其中還存在一些坑。前端時間在ediary中總結了js原生自帶的常用的對陣列遍歷處理的方法,分別為:map、forEach、filter,在講解知識點的同時,會類比相識

AndroidEclipse自己主動編譯NDK/JNI方法

comm tro mman gnu tex android項目 syn color ng- 【Android】Eclipse自己主動編譯NDK/JNI的三種方法 SkySeraph Sep. 18th 2014 Email:[email protec

AndroidEclipse安裝ADT

這兩天準備玩下WP開發,昨天裝了win7系統,但是還要用到Android開發環境,今天又搭建了一遍。 由於眾所周知的原因,谷歌各種被牆(此處省略粗口一百萬字),不過我直接GoAgentFQ避開了。 一切順利,但是Eclipse安裝ADT遇見問題了,由於google被牆

AndroidApp應用前後臺切換的一監聽方法

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=最小公倍數*最大公約數 二、求最大公約

vuevue元件傳值的方式

前言 vue的元件傳值分為三種方式:父傳子、子傳父、非父子元件傳值 引用官網的一句話:父子元件的關係可以總結為 prop 向下傳遞,事件向上傳遞 父元件通過 prop 給子元件下發資料,子元件通過事件給父元件傳送訊息,如下圖所示:   下面我們就開始用程式碼(一言不

vuevue路由傳參的方式

前言 vue 路由傳參的使用場景一般都是應用在父路由跳轉到子路由時,攜帶引數跳轉。傳參方式可劃分為 params 傳參和 query 傳參,而 params 傳參又可分為在 url 中顯示引數和不顯示引數兩種方式,這就是vue路由傳參的三種方式。 方式一:params 傳參(顯示

RabbitMQ知識盤點_訊息佇列介紹及訊息路由模式

最近在看訊息佇列的書籍,把一些收穫總結一下。 首先說說什麼是訊息佇列。這裡就不說那種教科書的定義了,以我的理解,訊息佇列就是通過接收和傳送訊息,使不同的應用系統連線起來。實現了業務系統的解耦,也跨越

python List新增,刪除元素的幾方法

python中List新增元素的幾種方法 List 是 Python 中常用的資料型別,它一個有序集合,即其中的元素始終保持著初始時的定義的順序(除非你對它們進行排序或其他修改操作)。 在Python中,向List新增元素,方法有如下4種方法(append(),extend(),insert()

SpringSpringMVC返回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

JqueryjQuery獲取URL引數的兩方法

jQuery獲取URL引數的關鍵是獲取到URL,然後對URL進行過濾處理,取出引數。location.href是取得URL,location.search是取得URL“?”之後的字串,也就是說引數部

PHP興趣部落-08PHP中時區設定的方法(timezone)

一 、三種方法 php中時區預設是格林尼治時間,和中國時差八個小時。現在根據需要將時間設定為中國時間,下面整理了三種方法。 方法1: 最好的方法在php.ini里加上找到 date.timezone 項,設定date.timezone = “Asia

CC語言main函式的形式

在C語言中,main()函式有三種形式。1、無引數#include <stdio.h> int main(void) { printf("Hello World!\n"); r