[Android] 環境配置之Android Studio開發NDK
NDK 開發哪家強?XX XX 找 Blue Fly.
說到 NDK 開發,其實是為了有些時候為了專案需求需要呼叫底層的一些 C/C++ 的一些東西;另外就是為了效率更加高些。
但是很多時候能不用就不用;這個是啥原因?個人感覺有些時候是覺得麻煩,首先要配置 NDK 還要 下載 Cygwin ,配置 Cygwin ,然後需要編譯生成,哎太麻煩了。如果你說使用 Eclipse,的確這樣在編譯上是能簡單很多,但是前期也是需要配置一大堆;哎,配置錯了還傷不起。
現在谷歌主力推動 Android Studio 這個是個不錯的工具,至少現在來看在 Eclipse 上能做到的 這邊都有,這邊有的Eclipse
下面來說說 在 Android Studio 中怎麼進行 NDK 的開發。
準備工作
Android Studio 環境搭建
NDK 環境搭建
都是可執行檔案,下載後點擊即可解壓到當前資料夾;當然你可以使用命令列來進行跨資料夾解壓的。
建立一個專案 NDKDemo:
建立對應的類,在 MathKit 中我們實現計算 INT 值的平方數。
StringKit 這個就是充數用的:public class MathKit { public static native int square(int num); static { System.loadLibrary("JniDemo"); } }
public class StringKit {
public static native void setNull(String str);
static {
System.loadLibrary("JniDemo");
}
}
準備 .h 檔案
進入Java目錄;CMD 進入該目錄進行 javah 操作:
這個想必大家並不陌生吧,該檔案就是 java 類對應的 標頭檔案,當然如果你比較厲害的話可以不用這樣生成,自己敲程式碼完成也行;反正我是不行。
如下,建立資料夾:
拷貝之前的檔案進去:
分別實現:
net_qiujuer_ndkdemo_jni_MathKit.cpp
#include <net_qiujuer_ndkdemo_jni_MathKit.h>
JNIEXPORT jint JNICALL Java_net_qiujuer_ndkdemo_jni_MathKit_square
(JNIEnv *env, jclass cls, jint num)
{
return num*num;
}
net_qiujuer_ndkdemo_jni_StringKit.cpp
#include <net_qiujuer_ndkdemo_jni_StringKit.h>
JNIEXPORT void JNICALL Java_net_qiujuer_ndkdemo_jni_StringKit_setNull
(JNIEnv *env, jclass obj, jstring str)
{
}
設定專案
設定根目錄中的:local.properties
該設定不是必須,如果你設定了環境變數則可不用設定;如果沒有但是又沒有設定將會出現:
設定 APP 專案 build.gradle
該設定是為了設定生成的Jni名稱為:JniDemo。
主檔案呼叫:
現在點選執行:
可以看見是非常簡單的;這個呼叫可以說是我操作過最簡單的了;甚至於生成 .H 檔案都可以編輯 .sh 檔案來進行批處理(這個後面有時間再說).
更多
在平時的那些操作中我們不可避免的要建立:
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := genius
LOCAL_SRC_FILES := net_qiujuer_imageblurring_jni_ImageBlur.cpp
LOCAL_LDLIBS := -lm -llog -ljnigraphics
include $(BUILD_SHARED_LIBRARY)
Application.mk
APP_ABI := all
APP_PLATFORM:= android-19
APP_OPTIM := release
而這裡這兩個檔案都沒有建立,那麼是怎麼決定的呢?
我們可以在 ndk 的 modelName 上按住 Ctrl 進行點選將會出現這個介面:
這些就是全部能夠設定的引數。分別對應:
ndk{
moduleName "JniDemo" // 設定生成的檔名
cFlags "-DANDROID_NDK -D_RELEASE" //這個對應的是生成模式
ldLibs "m", "log", "jnigraphics" //這個對應 LOCAL_LDLIBS 但是需要去掉前面的 “l”
abiFilters "all" //這個是對應的 APP_ABI
stl "stlport_shared" //這個對應的是 APP_STL
}
好了,就這些祝大家成功。專案打包上傳。
本次專案點選這裡下載。
相關推薦
[Android] 環境配置之Android Studio開發NDK
NDK 開發哪家強?XX XX 找 Blue Fly. 說到 NDK 開發,其實是為了有些時候為了專案需求需要呼叫底層的一些 C/C++ 的一些東西;另外就是為了效率更加高些。 但是很多時候能不用就不用;這個是啥原因?個人感覺有些時候是覺得麻煩,首先要配置 NDK 還要
環境配置之Android Studio開發NDK
NDK 開發哪家強?XX XX 找 Blue Fly. 說到 NDK 開發,其實是為了有些時候為了專案需求需要呼叫底層的一些 C/C++ 的一些東西;另外就是為了效率更加高些。 但是很多時候能不用就不用;這個是啥原因?個人感覺有些時候是覺得麻煩,首先要配置 NDK 還要 下載 Cygwin ,配置 C
[Android] 環境配置之正式版Android Studio 1.0
昨天看見 Android Studio 1.0 正式版本釋出了;心裡挺高興的。 算是忠實使用者了吧,從去年開發者大會一開始出現 AS 後就開始使用了;也是從那時開始就基本沒有用過 Eclipse 了;一路走來,遇到過 BUG ,也不斷的去國外找資源 找解決辦法。總的來說挺
Android環境配置(Eclipse全開發環境下載)
Android環境配置 前期準備 Android環境的Eclipse: 網站連結:https://www.runoob.com/w3cnote/android-tutorial-eclipse-adt-sdk-app.html SDK的CPU映象資源: 網站連結:https://www.androiddev
Mac之Android Studio開發NDK入門
NDK(Native Development Kit),是用於在 Android 應用中巢狀原生代碼的工具集,現在 Android 開發最常用的工具就是 Android Studio 了,筆者也是剛剛接觸 NDK 開發,用了一天的時間,踩了很多坑,最終跑通了自己的第一個 ND
Android開發快速入門(環境配置、Android Studio安裝)
Android是一種激動人心的開源移動平臺,它像手機一樣無處不在,得到了Google以及其他一些開放手機聯盟成員(如三星、HTC、中國移動、Verizon和AT&T等)的支援,因而不能不加以學習,否則你承擔不起為此付出的代價。 好在Android開發入門很容易,即使沒有Android手機都沒關係,只
Java環境配置和Android Studio的安裝教程
Android Studio是Google官方主推開發Android的IDE,雖然Eclipse開發Android沒有任何問題但是Google已經對Eclipse不進行更新維護了,而且相比在之後的開發中AS的功能是Eclipse所不能比擬的,所以這裡對Android Studio的安裝做個教程。
ubuntu下Qt之android環境配置以及一些常見問題解決
準備材料有: 1. qt for android 5.×版本,下載地址如下,可以選擇一個合適自己機器型號的版本進行下載。 地址:http://www.qt.io/download-open-source/#section-2 2. jdk下載以及環境配置 地址:http://
Linux下Android NDK環境配置以及配合eclipse使用NDK
轉自:http://blog.csdn.net/zhouyuanjing/article/details/7553706 ,感謝作者! 一.下載NDK 二.配置環境 從r7版本開始,Linux下直接解壓就可以使用,在windows下cygwin也已經整合在NDK
環境配置:React Native 開發環境配置 For Android
React Native 是FaceBook開源的一個專案,FaceBook希望可以用寫 Web App 的方式去寫 Native App。它可以讓我們用JS和React來開發應用,使用React Native可以通吃Android 和 IOS ,以及We
android開發教程(三)——環境搭建之android-sdk
目錄 android sdk包括開發android app所需要的編譯、除錯、測試開發工具和API庫。 下載android sdk: 在這個下載頁中提供兩種下載方式: 集成了adt的ide和android sdk的包,即包含了android sdk、adt、eclips
OpenCV On Android最佳環境配置指南(Android Studio篇)
簡介 本文是《OpenCV On Android最佳環境配置指南》系列教程第二篇,也是配置教程的最後一篇。通過對Android Studio裡OpenCV環境配置講解,快速幫新人解決入門配置問題。 本文內容是本人經過多次踩坑,並參考網上眾多OpenCV
android-studio開發NDK錯誤記錄:bash: ../../build/intermediates/classes/debug: is a directory
技術分享 androi info bash 開發 很多 oid dir int 按照網上很多已有的教程,在用javah生成c的頭文件時候報錯: Error: no classes specified bash: ../../build/intermediates/
Appium(2)-Android環境配置
jdk eight -o ted 可用 path變量 align 分辨 結果 第二節 安裝Android開發環境 如果你的環境是MAC那麽可以直接跳過這一節。就像我們在用Selenium進行web自動化測試的時候一樣,我們需要一個瀏覽器來執行測試腳本。那麽移動端自
Android環境配置
走了 clip 源代碼 開源 ... 記錄 選擇 發現 uno 最近頭腦發熱,想折騰一下安卓給自己弄個離線app,自己用就行,說做就做。 5月14日晚上回家開始在服役多年的win32電腦上開始了一晚上,前幾個小時,很快就把JDK+eclipse+SDK+ADT這一套
【webpack結合React開發環境配置】React開發環境配置之Webpack結合Babel8.x版本安裝的正確姿勢(Webpack最新版4.x結合Babel8.x環境配置步驟)
1. 安裝cnpmnpm install -g cnpm --registry=https://registry.npm.taobao.org【使用淘寶映象】2. 初始化package.json檔案cnpm init -y3. 安裝webpackcnpm install -d webpack webpack-
linux系統Android環境配置詳介
國內sdk下載地址 wget http://mirrors.neusoft.edu.cn/android/repository/tools_r24.4.1-linux.zip SDK 解壓 unzip -d android-sdk_r24.4.1-linux.zip
qt for android 環境配置
一開始用qt 5.8.0寫介面,最近做畢設想把介面搞到手機上,與linux開發的服務端通訊, 我本人電腦是 win10版本,64位,4G的,主要就是版本的問題 一, 首先需要幾個安裝包 qt環境 : qt for android 的安
android——CMakeList配置之編譯多個.cpp檔案
上次提到AndroidStudio2.2進行NDK開發超方便的配置方式,不用進行Android.mk 配置,也不用進行Application.mk配置,只要配置CMakeList即可。那麼問題來了,通過該方式生成的配置檔案預設是隻native-lib.cpp一個cpp檔案的,那麼怎麼配置編譯多個.c
PHP環境搭建之PHPstorm9+PHP5開發環境配置
以前寫過一篇zend studio+WAMP的:點這裡,個人感覺寫得不怎麼好可是閱讀數卻上千了。。。 不過筆者身邊好多人開始用PHPStrom了,所以就簡單的寫個教程 一、下載安裝 PHPStrom筆者用的9.0.2商業版(不要問我註冊碼,逃~),php筆者用的