Submit Search
Upload
Android程式設計(6)
•
Download as PPTX, PDF
•
1 like
•
243 views
Roy Wang
Follow
介紹android ndk,以及如何將opencv加入到android,android和c++如何透過JNI溝通,以及如何應用事件處理
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 19
Download now
Recommended
Android 程式設計(1)
Android 程式設計(1)
Roy Wang
Android 程式設計(3)
Android 程式設計(3)
Roy Wang
App inventor 1
App inventor 1
Roy Wang
Android開發app
Android開發app
騰昱 魏
Sencha touch 2 訓練課程 2 android環境建置
Sencha touch 2 訓練課程 2 android環境建置
My own sweet home!
Crashlytics 使用教學
Crashlytics 使用教學
ShengWen Chiou
App inventor 演講簡報
App inventor 演講簡報
David Huang
Android 開發環境建置手冊
Android 開發環境建置手冊
Artribr
Recommended
Android 程式設計(1)
Android 程式設計(1)
Roy Wang
Android 程式設計(3)
Android 程式設計(3)
Roy Wang
App inventor 1
App inventor 1
Roy Wang
Android開發app
Android開發app
騰昱 魏
Sencha touch 2 訓練課程 2 android環境建置
Sencha touch 2 訓練課程 2 android環境建置
My own sweet home!
Crashlytics 使用教學
Crashlytics 使用教學
ShengWen Chiou
App inventor 演講簡報
App inventor 演講簡報
David Huang
Android 開發環境建置手冊
Android 開發環境建置手冊
Artribr
Introduction to air for android 邱彦林
Introduction to air for android 邱彦林
FLASH开发者交流会
GAE Java IDE installation
GAE Java IDE installation
Simon Su
Phonegap入門
Phonegap入門
Roy Chen
Orientation Program
Orientation Program
Luo Korth
App inventor 教學講義 chapter1
App inventor 教學講義 chapter1
Jerry Wu
20140222 Unity Windows lab 移轉實作營
20140222 Unity Windows lab 移轉實作營
Meng-Ru (Raymond) Tsai
轻松写出优雅的Java代码之check style
轻松写出优雅的Java代码之check style
Zhen Li
2013/05/19 - Titanium 入門實戰 30 分鐘教你寫出 youtube App + 會員系統 @jsdc2013
2013/05/19 - Titanium 入門實戰 30 分鐘教你寫出 youtube App + 會員系統 @jsdc2013
Kevin Huang
Use Git-flow Manage Your Git Workflow
Use Git-flow Manage Your Git Workflow
Liangjun Jiang
Android 2.2 手機應用程式設計:第四章 第一個程式
Android 2.2 手機應用程式設計:第四章 第一個程式
Robert Chi
應用 Sikuli 在 Android 設備上執行自動化測試
應用 Sikuli 在 Android 設備上執行自動化測試
Jz Chang
第七堂 Youtube 播放 app (2)
第七堂 Youtube 播放 app (2)
力中 柯
InMobi_IAT SDK介接說明(二)
InMobi_IAT SDK介接說明(二)
沛豈 謝
Android gradle 从入门到gg 0
Android gradle 从入门到gg 0
Jun Liu
AS Workshop
AS Workshop
琨堯 林
Processing on your Android
Processing on your Android
CAVEDU Education
Open CV Setting For Android Studio
Open CV Setting For Android Studio
Phoebe Huang
Flutter 踩雷心得
Flutter 踩雷心得
Weizhong Yang
Android gradle 从入门到gg 1
Android gradle 从入门到gg 1
Jun Liu
Dev c++整合開發工具教學
Dev c++整合開發工具教學
Lin Steven
從頭打造 C#、.NET 與 ASP.NET Core 開發環境
從頭打造 C#、.NET 與 ASP.NET Core 開發環境
Will Huang
Windows App development for iOS, Android developer
Windows App development for iOS, Android developer
Ascii Huang
More Related Content
What's hot
Introduction to air for android 邱彦林
Introduction to air for android 邱彦林
FLASH开发者交流会
GAE Java IDE installation
GAE Java IDE installation
Simon Su
Phonegap入門
Phonegap入門
Roy Chen
Orientation Program
Orientation Program
Luo Korth
App inventor 教學講義 chapter1
App inventor 教學講義 chapter1
Jerry Wu
20140222 Unity Windows lab 移轉實作營
20140222 Unity Windows lab 移轉實作營
Meng-Ru (Raymond) Tsai
轻松写出优雅的Java代码之check style
轻松写出优雅的Java代码之check style
Zhen Li
2013/05/19 - Titanium 入門實戰 30 分鐘教你寫出 youtube App + 會員系統 @jsdc2013
2013/05/19 - Titanium 入門實戰 30 分鐘教你寫出 youtube App + 會員系統 @jsdc2013
Kevin Huang
Use Git-flow Manage Your Git Workflow
Use Git-flow Manage Your Git Workflow
Liangjun Jiang
Android 2.2 手機應用程式設計:第四章 第一個程式
Android 2.2 手機應用程式設計:第四章 第一個程式
Robert Chi
應用 Sikuli 在 Android 設備上執行自動化測試
應用 Sikuli 在 Android 設備上執行自動化測試
Jz Chang
第七堂 Youtube 播放 app (2)
第七堂 Youtube 播放 app (2)
力中 柯
InMobi_IAT SDK介接說明(二)
InMobi_IAT SDK介接說明(二)
沛豈 謝
What's hot
(13)
Introduction to air for android 邱彦林
Introduction to air for android 邱彦林
GAE Java IDE installation
GAE Java IDE installation
Phonegap入門
Phonegap入門
Orientation Program
Orientation Program
App inventor 教學講義 chapter1
App inventor 教學講義 chapter1
20140222 Unity Windows lab 移轉實作營
20140222 Unity Windows lab 移轉實作營
轻松写出优雅的Java代码之check style
轻松写出优雅的Java代码之check style
2013/05/19 - Titanium 入門實戰 30 分鐘教你寫出 youtube App + 會員系統 @jsdc2013
2013/05/19 - Titanium 入門實戰 30 分鐘教你寫出 youtube App + 會員系統 @jsdc2013
Use Git-flow Manage Your Git Workflow
Use Git-flow Manage Your Git Workflow
Android 2.2 手機應用程式設計:第四章 第一個程式
Android 2.2 手機應用程式設計:第四章 第一個程式
應用 Sikuli 在 Android 設備上執行自動化測試
應用 Sikuli 在 Android 設備上執行自動化測試
第七堂 Youtube 播放 app (2)
第七堂 Youtube 播放 app (2)
InMobi_IAT SDK介接說明(二)
InMobi_IAT SDK介接說明(二)
Similar to Android程式設計(6)
Android gradle 从入门到gg 0
Android gradle 从入门到gg 0
Jun Liu
AS Workshop
AS Workshop
琨堯 林
Processing on your Android
Processing on your Android
CAVEDU Education
Open CV Setting For Android Studio
Open CV Setting For Android Studio
Phoebe Huang
Flutter 踩雷心得
Flutter 踩雷心得
Weizhong Yang
Android gradle 从入门到gg 1
Android gradle 从入门到gg 1
Jun Liu
Dev c++整合開發工具教學
Dev c++整合開發工具教學
Lin Steven
從頭打造 C#、.NET 與 ASP.NET Core 開發環境
從頭打造 C#、.NET 與 ASP.NET Core 開發環境
Will Huang
Windows App development for iOS, Android developer
Windows App development for iOS, Android developer
Ascii Huang
Docker基礎
Docker基礎
Perry Tsai
Android NFC Application Development Environment Setup
Android NFC Application Development Environment Setup
Chun-Kai Wang
搭建你的Android Studio開發環境
搭建你的Android Studio開發環境
Yuan Chiu
GDG Taichung - Flutter and Firebase.pdf
GDG Taichung - Flutter and Firebase.pdf
Duran Hsieh
Insider Dev Tour - Taipei Productive and Fun Web Development with NodeJS and ...
Insider Dev Tour - Taipei Productive and Fun Web Development with NodeJS and ...
jasonzheng50
GDG Taichung: What is new in Firebase
GDG Taichung: What is new in Firebase
Duran Hsieh
LargeCodebases_Lecture01_Getting Set Up.pptx
LargeCodebases_Lecture01_Getting Set Up.pptx
ssusere42ed6
Universal windows apps 開發—運用 html 及 java script
Universal windows apps 開發—運用 html 及 java script
Ian Chen
Full stack-development with node js
Full stack-development with node js
Xuefeng Zhang
Android Studio NDK(JNI) + OpenCV 完整教學
Android Studio NDK(JNI) + OpenCV 完整教學
Wei-Xiang Wang
C語言初體驗
C語言初體驗
吳錫修 (ShyiShiou Wu)
Similar to Android程式設計(6)
(20)
Android gradle 从入门到gg 0
Android gradle 从入门到gg 0
AS Workshop
AS Workshop
Processing on your Android
Processing on your Android
Open CV Setting For Android Studio
Open CV Setting For Android Studio
Flutter 踩雷心得
Flutter 踩雷心得
Android gradle 从入门到gg 1
Android gradle 从入门到gg 1
Dev c++整合開發工具教學
Dev c++整合開發工具教學
從頭打造 C#、.NET 與 ASP.NET Core 開發環境
從頭打造 C#、.NET 與 ASP.NET Core 開發環境
Windows App development for iOS, Android developer
Windows App development for iOS, Android developer
Docker基礎
Docker基礎
Android NFC Application Development Environment Setup
Android NFC Application Development Environment Setup
搭建你的Android Studio開發環境
搭建你的Android Studio開發環境
GDG Taichung - Flutter and Firebase.pdf
GDG Taichung - Flutter and Firebase.pdf
Insider Dev Tour - Taipei Productive and Fun Web Development with NodeJS and ...
Insider Dev Tour - Taipei Productive and Fun Web Development with NodeJS and ...
GDG Taichung: What is new in Firebase
GDG Taichung: What is new in Firebase
LargeCodebases_Lecture01_Getting Set Up.pptx
LargeCodebases_Lecture01_Getting Set Up.pptx
Universal windows apps 開發—運用 html 及 java script
Universal windows apps 開發—運用 html 及 java script
Full stack-development with node js
Full stack-development with node js
Android Studio NDK(JNI) + OpenCV 完整教學
Android Studio NDK(JNI) + OpenCV 完整教學
C語言初體驗
C語言初體驗
More from Roy Wang
Android程式設計(7)
Android程式設計(7)
Roy Wang
Android 程式設計(5)
Android 程式設計(5)
Roy Wang
Android 程式設計(4)
Android 程式設計(4)
Roy Wang
Android 程式設計(2)
Android 程式設計(2)
Roy Wang
App inventor 5
App inventor 5
Roy Wang
App inventor 4
App inventor 4
Roy Wang
App inventor 3
App inventor 3
Roy Wang
App inventor 2
App inventor 2
Roy Wang
More from Roy Wang
(8)
Android程式設計(7)
Android程式設計(7)
Android 程式設計(5)
Android 程式設計(5)
Android 程式設計(4)
Android 程式設計(4)
Android 程式設計(2)
Android 程式設計(2)
App inventor 5
App inventor 5
App inventor 4
App inventor 4
App inventor 3
App inventor 3
App inventor 2
App inventor 2
Android程式設計(6)
1.
Android 程式設計(6) 講師:王瑋毅
2.
概要 • Android Studio
安裝NDK • Android Studio 使用NDK • 使用NDK增加程式
3.
Android Studio安裝NDK • 開啟專案,在選單選擇Tools
-> Android -> SDK Manager • 點選SDK Tools分頁,將LLDB、 Cmake、NDK勾選 • 點選Apply,然後點擊OK進行安裝
4.
Android Studio 使用NDK(1/5) •
新增一個新專案,勾選 Include C++ support,點選Next進行下一 步
5.
Android Studio 使用NDK(2/5) •
選擇要開發的類型(c++ Support會只有兩個專案類型可選) • 點選Next進行下一步
6.
Android Studio 使用NDK(3/5) •
將C++ Standard改為C++11,並勾選Exceptions Support 和 Runtime Type Information Support • Exceptions Support: C++異常處理會用到 所以需要勾選 • Runtime Type Information Support: 如果需 要動態類型的偵測,就要勾選,像是指標
7.
Android Studio 使用NDK(4/5) •
檢查檔案結構是否完整
8.
Android Studio 使用NDK(5/5) •
使用NDK的C/C++程式碼必須引入jni.h • 資料型態不一樣,像是String -> jstring,boolean -> jboolean...等 • 函式定義方法為: JNIEXPORT 回傳型態 JNICALL Java_資源包名稱_類別名稱_函示名稱(JNIEnv *env, jobject) 回傳型態: NDK定義的資料型態 資源包名稱: package name 類別名稱: 呼叫這個函示的類別名稱 函示名稱: 自行命名的函示名稱 函示參數: 至少要有JNIEnv *env 和 jobject,有需要可增加參數
9.
使用NDK增加程式(1/4) • 在cpp資料夾右鍵 ->
New -> C/C++ Source File 建立新檔案 • 在Name輸入testMessage
10.
使用NDK增加程式(2/4) • 複製native-lib.cpp的程式碼貼到testMessage.cpp,再將函式名稱改 為 getTestString •
將顯示訊息做更改,這裡是改為”測試”
11.
使用NDK增加程式(3/4) • 開啟CMakeLists.txt,並加入 testMessage才可連結到關聯函式 庫名稱,並加入C++對應的路徑 • target_link_libraries需增加新的 library函式庫名稱
12.
使用NDK增加程式(4/4) • 在MainActivity.java 加入testMessage
13.
NDK導入OpenCV(1/6) • 到OpenCV官網下載OpenCV for
Android,並解壓縮
14.
NDK導入OpenCV(2/6) • 開啟解壓縮的資料夾,...OpenCV-android- sdksdknativejniinclude,將include資料夾 複製到專案的cpp資料夾內
15.
NDK導入OpenCV(3/6) • 在main資料夾,點擊右鍵選 New ->
Directory建立資料夾, 命名為jniLibs,在jniLibs資料 夾再新增一個資料夾, 名為armeabi
16.
NDK導入OpenCV(4/6) • 到...OpenCV-android-sdksdknative libsarmeabi位子,找到 libopencv_java3.so複製到專案
17.
NDK導入OpenCV(5/6) • 開啟CMakeLists.txt,設定opencv lib
18.
NDK導入OpenCV(6/6) • 開啟app內的build.gradle,加入ndk設定
19.
謝謝大家
Download now