1. 程式人生 > >[Android] 環境配置之Android Studio開發NDK

[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 值的平方數。

public class MathKit {
    public static native int square(int num);

    static {
        System.loadLibrary("JniDemo");
    }
}
StringKit 這個就是充數用的:
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

MacAndroid 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下Qtandroid環境配置以及一些常見問題解決

準備材料有: 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筆者用的