中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于Android Studio 的NDK之 “Hello,World!”

發布時間:2020-10-02 00:05:16 來源:網絡 閱讀:2572 作者:breezy_yuan 欄目:移動開發
  • 環境

    Android Studio:1.3.2

    JRE:1.7.0

    Android SDK Tools:24.3.4

    Android NDK:r10e

  • Android Studio安裝步驟略,下載地址:http://developer.android.com/tools/studio/index.html

    找到下載地址后,復制到迅雷下載后安裝,Studio很好用的一個地方就是有更新直接下載安裝,不用像Eclipse那樣重新下載新版。

  • Android NDK下載地址:https://developer.android.com/tools/sdk/ndk/index.html

    同樣迅雷下載安裝,唯一提醒一點,先把安裝包拷貝到要安裝的目錄,exe文件自動提取到當前目錄下,害的我又拷貝了一般,3個多G吶!


    上述環境安裝完畢,啟動Android SDK Manager更新好Android SDK,進入正題;

  1. 首先Studio中新建一個工程,默認就是這個樣子:

    基于Android Studio 的NDK之 “Hello,World!”

  2. 在Project的local.properties文件中告知Android Studio你的ndk所在目錄:

    注意':'和'\'要進行轉義

    ndk.dir=D\:\\Android\\android-ndk-r10e

  3. 創建一個JNI文件(我放在一個單獨的jni包中),簡單的一個native方法add,計算兩個整數相加的值:

    基于Android Studio 的NDK之 “Hello,World!”

  4. 接著我們就要寫C層的代碼了,在main文件夾下建立一個jni的子文件夾(跟java文件夾并列,Android會默認知道這事底層的代碼源文件夾),聲明頭文件和源碼文件:

    tips:可以使用javah -jni 'your jni java class with package name'來自動生成.h文件

    用法:打開命令行,切換到..\your project path\app\build\intermediates\classes\debug目錄下,執行上述命令,然后把這個生成的.h文件拷貝到剛建立的jni目錄下

  5. 建一個cpp文件,名稱自己起名,我起名為math.cpp,實現頭文件中聲明的方法:

//
// Created by dell on 2015/9/10.
//

#include "math.h"

JNIEXPORT jint JNICALL Java_com_lbrant_jni_MathJNI_add
        (JNIEnv *env, jobject, jint a, jint b) {
    return a + b;
}

在gradle.properties中添加如下,不然編譯器會提示錯誤:

android.useDeprecatedNdk=true

在app module中(注意不是項目根目錄),配置ndk編譯(這里只配置了moduleName和平臺):

 defaultConfig {
    applicationId "com.lbrant.x_project"
    minSdkVersion 15
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"

    ndk {
        moduleName "math"
        abiFilters "armeabi", "armeabi-v7a", "x86"
    }
}

由于是JNI和應用層是在同一個工程中,直接運行系統會自動編譯,生成Android.mk和對于so:

基于Android Studio 的NDK之 “Hello,World!”


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

自贡市| 昌图县| 曲阜市| 德江县| 遂宁市| 杂多县| 岳阳市| 屯留县| 铁岭县| 剑川县| 台东市| 拜城县| 南开区| 凌源市| 阜平县| 吕梁市| 连江县| 高青县| 大足县| 临洮县| 永清县| 左权县| 伽师县| 襄汾县| 西和县| 宜春市| 广德县| 永清县| 惠州市| 忻州市| 平阳县| 祁门县| 蓝田县| 邹平县| 百色市| 彩票| 翁源县| 马关县| 双辽市| 金堂县| 黄平县|