日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

android jni java调用c,Android与JNI(一) ---- Java调用C 静态调用

發(fā)布時間:2024/8/23 Android 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android jni java调用c,Android与JNI(一) ---- Java调用C 静态调用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

第一、通過eclipse新建一個工程名為HelloJni的android工程,并編譯。

第二、右鍵工程-->Android Tools --> Add Native Support,出現(xiàn)如下界面,名字默認就可以了,點擊finish。

第三、我們在MainActivity類中加入要調(diào)用的native代碼

public native String stringFromJNI();

以及加入我們要調(diào)用的lib庫,名字就是上面圖中的名字了。

static {

System.loadLibrary("HelloJni");

}

第四、用eclipse編譯工程,使其在工程bin/classes目錄下生成class文件

然后在工程根目錄的src執(zhí)行

javah -d ../jni com.example.hellojni.MainActivity

其中-d 表示生產(chǎn)目錄,這時候jni目錄會生產(chǎn)com_example_hellojni_MainActivity.h頭文件。

在jni目錄下創(chuàng)建com_example_hellojni_MainActivity.c文件,并實現(xiàn)stringFromJNI方法

#include

#include

#include "com_example_hellojni_MainActivity.h"

/* This is a trivial JNI example where we use a native method

* to return a new VM String. See the corresponding Java source

* file located at:

*

* src/com/example/hellojni/MainActivity.java

*/

jstring Java_com_example_hellojni_MainActivity_stringFromJNI(JNIEnv *env, jobject this)

{

return (*env)->NewStringUTF(env, "Hello from JNI !");

}

將com_example_hellojni_MainActivity.c添加到j(luò)ni的Android.mk中,同時刪除HelloJni.cpp文件

最后我們添加Toast來顯示stringFromJNI返回的文本。

Toast.makeText(getApplicationContext(), str, 90000000).show();

OK,接下去就是編譯安裝包看下效果了。

工程源碼下載:

Android 通過 JNI 訪問 Java 字段和方法調(diào)用

在前面的兩篇文章中,介紹了 Android 通過 JNI 進行基礎(chǔ)類型.字符串和數(shù)組的相關(guān)操作,并描述了 Java 和 Native 在類型和簽名之間的轉(zhuǎn)換關(guān)系. 有了之前那些基礎(chǔ),就可以實現(xiàn) Jav ...

Android與JNI(二) ---- Java調(diào)用C++ 動態(tài)調(diào)用

目錄: 1. 簡介 2. JNI 組件的入口函數(shù) 3. 使用 registerNativeMethods 方法 4. 測試 5. JNI 幫助方法 6. 參考資料 1. 簡介 Android與JNI( ...

jQuery擴展兩類函數(shù)(對象調(diào)用,靜態(tài)調(diào)用)

作者:zccst 先看小例子: $(function(){ //擴展方式1-通過對新調(diào)用 $.fn.each1=function(){ console.log("hehehehe$.fn.f ...

Android使用JNI實現(xiàn)Java與C之間傳遞數(shù)據(jù)(轉(zhuǎn))

介紹Java如何將數(shù)據(jù)傳遞給C和C回調(diào)Java的方法.? java傳遞數(shù)據(jù)給C,在C代碼中進行處理數(shù)據(jù),處理完數(shù)據(jù)后返回給java.C的回調(diào)是Java傳遞數(shù)據(jù)給C,C需要用到Java中的某個方法,就需 ...

Android使用JNI實現(xiàn)Java與C之間傳遞數(shù)據(jù)

介紹Java如何將數(shù)據(jù)傳遞給C和C回調(diào)Java的方法. java傳遞數(shù)據(jù)給C,在C代碼中進行處理數(shù)據(jù),處理完數(shù)據(jù)后返回給java.C的回調(diào)是Java傳遞數(shù)據(jù)給C,C需要用到Java中的某個方法,就需要 ...

JNI實現(xiàn)JAVA和C++互相調(diào)用

SDK.h #ifndef SDK_H #define SDK_H #include "AsyncProxy.h" #include "Module.h" #i ...

通過adb命令在Android設(shè)備中執(zhí)行Java命令, 并調(diào)用so文件。

一.難點一:無法復(fù)制so文件到/system/lib或者/vendor/lib下,提示只讀 解決方法: 2.使用android device monitor放庫進入到?/system/lib出現(xiàn)只讀權(quán) ...

Android NDK開發(fā) JNI操作java構(gòu)造方法,普通方法,靜態(tài)方法(七)

Android NDK開發(fā) JNI操作java普通.靜態(tài).構(gòu)造方法 1.Jni實例化一個Java類的實例jobject 1.通過FindClas( ),獲取Java類的的jclass 2.通過GetM ...

C++調(diào)用DLL有兩種方法——靜態(tài)調(diào)用和動態(tài)調(diào)用

C++調(diào)用DLL有兩種方法——靜態(tài)調(diào)用和動態(tài)調(diào)用 標(biāo)簽:?dllc++winapinullc 2011-09-09 09:49?11609人閱讀?評論(0)?收藏?舉報 ?分類: cpp(30)? [ ...

隨機推薦

Springboot框架

本片文章主要分享一下,Springboot框架為什么那么受歡迎以及如何搭建一個Springboot框架. 我們先了解一下Springboot是個什么東西,它是干什么用的.我是剛開始接觸,查了很多資料, ...

mysql 常用語句模板

插入INSERT IGNORE INTO test (`f1`, `f2`, `f3`) VALUES (v1,v2,v3); 更新update test set f1=v1,f2=v2 where ...

JS數(shù)組操作示意圖(shift,unshift,pop,push)

shift:刪除原數(shù)組第一項,并返回刪除元素的值:如果數(shù)組為空則返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b: ...

BestCoder Round #87 1002 Square Distance[DP 打印方案]

Square Distance ?Accepts: 73 ?Submissions: 598 ?Time Limit: 4000/2000 MS (Java/Others) ?Memory Limit ...

js實現(xiàn)未知寬高的元素在指定元素中垂直水平居中

js實現(xiàn)未知寬高的元素在指定元素中垂直水平居中:本章節(jié)介紹一下如何實現(xiàn)未知寬高的元素在指定元素下實現(xiàn)垂直水平居中效果,下面就以span元素為例子,介紹一下如何實現(xiàn)span元素在div中實現(xiàn)水平垂直居中 ...

ZOJ3761(并查集+樹的遍歷)

Easy billiards Time Limit: 2 Seconds ???? Memory Limit: 65536 KB ???? Special Judge Edward think a g ...

Apache Derby倒斗之路-01小道消息

1.DERBY是什么: Apache Derby 是IBM于2004年貢獻給Apache軟件基金會的數(shù)據(jù)庫,于2005年正式成為開源項目,Derby作為一個基于JAVA的關(guān)系型數(shù)據(jù)庫框架,他擁有許多便 ...

IntelliJ中的main函數(shù)、for循環(huán)、System.out.println()快捷鍵

main函數(shù) 輸入: psvm 回車 輸出: public static void main(String[] args) { } for循環(huán) 輸入:fori 回車 輸出: for (int i = ...

【nginx】配置Nginx實現(xiàn)負載均衡

一文中已經(jīng)提到,企業(yè)在解決高并發(fā)問題時,一般有兩個方向的處理策略,軟件.硬件,硬件上添加負載均衡器分發(fā)大量請求,軟件上可在高并發(fā)瓶頸處:數(shù)據(jù)庫+web服務(wù)器兩處添加解決方案,其中web服務(wù)器前面一層最 ...

安裝 Linuxbrew

在 OS X 平臺上非常流行的包管理器?Homebrew?最近正被移植到 Linux 上而成為?Linuxbrew.雖然各種 Linux 發(fā)行都帶有自己的包管理工具,諸如 apt-get.yum.pa ...

總結(jié)

以上是生活随笔為你收集整理的android jni java调用c,Android与JNI(一) ---- Java调用C 静态调用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。