韌館-LearnHouse

Archive for 七月, 2022

[Android]JNI呼叫C/C++函式傳遞Int Array參數與返回Array值

上層Java呼叫C/C++的函式

public native void 2DArrayInput(int[][] inputData);
public native int[] returnArray(int[] inputData2);

二維int陣列傳值:

public final static int[][] inputData = {
                                       {0x0226,0x00}
                                      ,{0x0227,0x40}
                                      ,{0x0228,0x00}
                                    };
JniTest jnitest = new JniTest();
jnitest.2DArrayInput(inputData);

Read more...

posted by admin in 程式&軟體 and have No Comments

[Android]如何在AOSP下編譯JNI

JNI是什麼,我就不多作介紹,估狗一下應該資料就一堆,而且也會有很多教學。不過一般找到的教學都是透過Android Studio寫APP使用JNI的方式。卻找不到如果是AOSP開發者,如何撰寫JNI與配置Android.mk。

首先在你的上層JAVA的APP新增class介面來提供呼叫底層的API,其中System.loadLibrary的部分還可以不用先寫,不過寫了也不會影響產出header檔。
這裡宣告一個呼叫底層的函式,帶入整數值並回傳字串。 Read more...

posted by admin in 程式&軟體 and have No Comments