国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

android studio JNI開發(fā)

這篇具有很好參考價值的文章主要介紹了android studio JNI開發(fā)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、JNI的作用:

1.使Java與本地其他類型語言(C、C++)交互;

2.在Java代碼調(diào)用C、C++等語言的代碼?或者 C、C++調(diào)用Java代碼。

由于JAVA具有跨平臺的特點,所以JAVA與本地代碼的交互能力弱,采用JNI特性可以增強JAVA與本地代碼的交互能力。

二、AndroidStudion中JNI的使用方法:

1、在AS,點擊File ->Setting,下載NDK?和?CMake。android jni開發(fā),android studio,android

?2、配置環(huán)境變量:

path中添加環(huán)境變量:C:\Users\a\AppData\Local\Android\Sdk\ndk\26.0.10404224\build(我的環(huán)境)。

配置的是NDK在系統(tǒng)里安裝的位置。

?android jni開發(fā),android studio,android

?三、測試demo:

1. 新建一個工程JNITest,在工程的包名下,新建一個JAVA類,類名為JNITest:

package com.example.myapplication;

public class JNITest {
    public native String getJNIString();
}

2. 使用javac命令編譯JNITest.java文件,生成JNITest.class文件。

在工程目錄下執(zhí)行如下命令:javac .\JNITest.java

android jni開發(fā),android studio,android

執(zhí)行完畢后可以看到包名下面生成了對應(yīng)的class文件,如下圖所示:

android jni開發(fā),android studio,android

?3. 生成JNITest.class文件后,需要生成對應(yīng)的.h文件:

在工程目錄下執(zhí)行如下命令:javah -d app/src/main/jni -classpath app/src/main/java/ -jni -v com.example.myapplication.JNITest

執(zhí)行完畢后可以看到在app/src/main目錄下生成了jni目錄,目錄里生成了對應(yīng)的.h文件,文件名為com_example_myapplication_JNITest.h

4. 在jni目錄下,新建一個cpp文件,命名為JNITest.cpp,文件里實現(xiàn)JNITest.java文件里定義的本地方法:

右擊jni->New->C/C++ Source File->輸入JNITest

JNITest.cpp 文件代碼:

#include <jni.h>
#include "JNITest.h"

JNIEXPORT jstring JNICALL Java_com_example_myapplication_JNITest_getJNIString
  (JNIEnv* env, jobject)
{
    return env->NewStringUTF("Hello From JNITest Function(getJNIString)");
}

com_example_myapplication_JNITest.h 文件代碼:

#include <jni.h>
/* Header for class com_example_myapplication_JNITest */

#ifndef _Included_com_example_myapplication_JNITest
#define _Included_com_example_myapplication_JNITest
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     com_example_myapplication_JNITest
 * Method:    getJNIString
 * Signature: ()Ljava/lang/String;
 */
JNIEXPORT jstring JNICALL Java_com_example_myapplication_JNITest_getJNIString
  (JNIEnv *, jobject){
  {
      return env->NewStringUTF("Hello From JNITest Function(getJNIString)");
  }
  };

#ifdef __cplusplus
}
#endif
#endif

5. 在jni目錄下,再新建一個Android.mk文件:

右擊jni目錄->New->File->輸入Android.mk,在文件里寫入如下配置:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := JNITest
LOCAL_SRC_FILES := JNITest.cpp
include $(BUILD_SHARED_LIBRARY)

再新建文件夾:Application.mk,寫入配置:

APP_PLATFORM := android-21
APP_ALLOW_MISSING_DEPS=true

6. 在終端進入到項目"app/src/main/jni"目錄下,執(zhí)行ndk-build,執(zhí)行后在app/src/main目錄下自動生成lib文件夾,生成好的so庫文件就在lib文件夾下,如下圖所示:

android jni開發(fā),android studio,android文章來源地址http://www.zghlxwxcb.cn/news/detail-640474.html

到了這里,關(guān)于android studio JNI開發(fā)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Android studio配置OpenCV的JNI接口,實現(xiàn)C++代碼編程

    Android studio配置OpenCV的JNI接口,實現(xiàn)C++代碼編程

    目錄 一、下載OpenCV-android-sdk 二、新建項目 三、導(dǎo)入OpenCV包 ?四、配置OpenCV的JNI接口,拷貝OpenCV所需的頭文件和庫文件 五、修改Cmake文件 ?六、配置app的build.gradle文件 ?七、測試 OpenCV官網(wǎng)地址:https://opencv.org/? 點擊Library--Releases,下載Android版本,解壓得到?OpenCV-android-sdk文件

    2024年02月10日
    瀏覽(24)
  • OpenCV(一):Android studio jni配置OpenCV(親測有效,保姆級)

    OpenCV(一):Android studio jni配置OpenCV(親測有效,保姆級)

    目錄 1.下載OpenCV的SDK 2.創(chuàng)建Android Native C++項目 3.Android項目中導(dǎo)入OpenCV工程 4.導(dǎo)入OpenCV的庫文件 5.實現(xiàn)opencv高斯模糊圖像處理的demo 要在Android Studio中配置使用OpenCV庫的C++方法,需要完成以下步驟: 1.下載OpenCV的SDK 首先,您可以從OpenCV官方網(wǎng)站(Releases - OpenCV )下載適用于And

    2024年02月03日
    瀏覽(46)
  • 利用android studio 生成 JNI需要的動態(tài)庫so文件 圖文詳解

    利用android studio 生成 JNI需要的動態(tài)庫so文件 圖文詳解

    到官網(wǎng)下載,此處不再陳述 JNI 是JDK里的內(nèi)容,電腦上正確安裝并配置JDK即可。 直接在Android studio下載(File----Settings) 工具一: AndroidStudio下載安裝cmake(調(diào)試Native時會使用到LLDB,請一同勾選下載安裝) 工具二: 用NDK的腳本工具使用ndk-build 新建項目,選擇Native C++,如下圖所

    2024年02月09日
    瀏覽(33)
  • 【環(huán)境配置】Android-Studio-OpenCV-JNI以及常見錯誤 ( 持續(xù)更新 )

    【環(huán)境配置】Android-Studio-OpenCV-JNI以及常見錯誤 ( 持續(xù)更新 )

    最近一個項目要編譯深度學(xué)習(xí)的庫,需要用到 opencv 和 JNI,本文檔用于記錄環(huán)境配置中遇到的常見錯誤以及解決方案 解決辦法: 刪除文件 .idea/gradle.xml 和 .idea/workspace.xml , 重新編譯; 解決辦法:Invalid Gradle JDK configuration found 原因是NDK版本過高,跟當(dāng)前的AndroidStudio版本不匹配

    2024年02月11日
    瀏覽(19)
  • Android-JNI開發(fā)概論

    JNI的全稱是Java Native Interface,顧名思義,這是一種解決Java和C/C++相互調(diào)用的編程方式。 它其實只解決兩個方面的問題,怎么找到和怎么訪問。 弄清楚這兩個話題,我們就學(xué)會了JNI開發(fā)。 需要注意的是,JNI開發(fā)只涉及到一小部分C/C++開發(fā)知識,遇到問題的時候我們首先要判斷

    2024年02月09日
    瀏覽(21)
  • Android音視頻開發(fā)實戰(zhàn)02-Jni

    Android音視頻開發(fā)實戰(zhàn)02-Jni

    JNI是Java Native Interface的縮寫,是Java提供的一種機制,用于在Java代碼中調(diào)用本地(C/C++)代碼。它允許Java代碼與本地代碼進行交互,通過JNI,Java應(yīng)用程序可以調(diào)用一些原生庫或者操作系統(tǒng)API,以獲取更好的性能和更強的功能支持。 使用JNI需要編寫一些Native方法,并將其實現(xiàn)在

    2024年02月11日
    瀏覽(30)
  • Android串口開發(fā)之使用JNI實現(xiàn)ANDROID和串口通信

    Android串口開發(fā)之使用JNI實現(xiàn)ANDROID和串口通信

    導(dǎo)語:Android串口通信在物聯(lián)網(wǎng)、智能家居等領(lǐng)域具有廣泛的應(yīng)用。本文將詳細介紹如何使用JNI技術(shù)實現(xiàn)Android設(shè)備與串口的通信,包括串口的打開、設(shè)置參數(shù)和讀寫數(shù)據(jù)等過程。 在開始介紹Android串口開發(fā)之前,我們需要了解以下幾個概念: JNI:JNI(Java Native Interface)是一種

    2024年02月07日
    瀏覽(21)
  • Android Studio編譯JNI項目,Cmake出錯:Detecting C compiler ABI info - failed

    Android Studio編譯JNI項目,Cmake出錯:Detecting C compiler ABI info - failed

    cmake的定義是什么 ?-----?級編譯配置?具cmake就是將多個cpp、hpp文件組合構(gòu)建為一個大工程的語言。他能夠輸出各種各樣的makefile或者project文件,所有操作都是通過編譯CMakeLists.txt來完成。 會在編譯時跳過編譯器檢查,就不會再出現(xiàn)異常了。 弱小不是逃避的借口,應(yīng)是竭盡

    2024年02月09日
    瀏覽(19)
  • Android NDK開發(fā)詳解之JNI中的庫文件

    簡介 本部分簡要介紹了 NDK 的工作原理。Android NDK 是一組使您能將 C 或 C++(“原生代碼”)嵌入到 Android 應(yīng)用中的工具。能夠在 Android 應(yīng)用中使用原生代碼對于想執(zhí)行以下一項或多項操作的開發(fā)者特別有用: 工作原理 本部分介紹了在為 Android 構(gòu)建原生應(yīng)用時使用的主要組件

    2024年02月06日
    瀏覽(26)
  • Android問題筆記四十三:JNI 開發(fā)如何快速定位崩潰問題

    Android問題筆記四十三:JNI 開發(fā)如何快速定位崩潰問題

    Unity3D特效百例 案例項目實戰(zhàn)源碼 Android-Unity實戰(zhàn)問題匯總 游戲腳本-輔助自動化 Android控件全解手冊 再戰(zhàn)Android系列 Scratch編程案例 軟考全系列 Unity3D學(xué)習(xí)專欄 藍橋系列 ChatGPT和AIGC 專注于 Android/Unity 和各種游戲開發(fā)技巧,以及 各種資源分享 (網(wǎng)站、工具、素材、源碼、游戲等

    2024年02月05日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包