91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

為Android SDK增加應用的案例實現是怎樣的

發布時間:2021-12-18 15:38:00 來源:億速云 閱讀:162 作者:柒染 欄目:移動開發

這期內容當中小編將會給大家帶來有關為Android SDK增加應用的案例實現是怎樣的,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

在開發Android開發應用的過程中,通常有兩種方式:NDK和eclipse,或者直接在Android SDK增加。這里介紹如何在Android SDK環境中增加一個應用程序。其中涉及到JNI,JAVA對JNI的調用,其中JNI代碼文件為C++。

第一步,建立JNI層代碼,注意,JNI代碼的路徑與JAVA的代碼路徑有很大的關系,一定要保持一致。

Android SDK在frameworks/base/core/jni目錄下建立JNI C++文件android_test.cpp,內容如下:

#define LOG_TAG "FMC"  #include "jni.h"  #include "android_runtime/AndroidRuntime.h"  #include <nativehelper/JNIHelp.h> #include "utils/Log.h"  extern "C" {        int test(void);//此函數可以來自c代碼或c庫  };  namespace android   //注意名稱空間和JAVA調用JNI所有的路徑有緊密的關系,不能隨便取名稱空間。                       //原作者這句話不對                       //這只是c++的命名空間和JNI沒有關系,如果不用android namespace那么在                       //AndroidRuntime.cpp里面也要聲明在android namespace外面。  {   static jint android_test(JNIEnv *env, jobject clazz)   {    return test();   }   static JNINativeMethod method_table[] = {    { "my_test", "()I", (void*)android_test}, //***個參數為字串,這是JAVA層看到的函數名;           //第二個參數為該函數的形參說明,           //JAVA代碼就是靠這個參數知道所調用函數的形參情況;           //第三個參數為JNI代碼中實際調用的C函數。   }   int register_android_test(JNIEnv *env)//這是JNI注冊函數,android.test就是java調用層(第三步)看到的包路徑,           //如果這里是register_android_hardware_test,           //那么JAVA調用層需要導入android.hardware.test包   {    return AndroidRuntime::registerNativeMethods(env, "android/test/Test",method_table,NELEM(method_table));   }  };

第二步,把JNI代碼注冊函數添加到AndroidRuntime運行時庫中。編輯frameworks/base/core/jni/AndroidRuntime.cpp文件:

Android SDK按照文件上的方法對應的增加以下兩行:

..........  extern int register_android_test(JNIEnv* env);//這是android_test.cpp文件中的注冊函數  ..........................  static const RegJNIRec gRegJNI[] = {  .........  .........  REG_JNI(register_android_test),  .........  .......  };

第三步,建立JAVA調用層,在frameworks/base/core/java/android/test 目錄下建立文件Test.java,內容如下:

package android.test;  public class Test {   private native int my_test();//Android 應用的代碼中最終能調用的就是這個代碼   public Test()//構造函數   {    //Add Your Code Here.............   }  };

第四步,在packages/apps/test目錄下建立你的android應用(具體建立方法這里就不再作介紹),假設test_app.java是應用的主文件,則內容如下:

package com.app;  import android.test;//導入自己的包  在代碼中這樣使用:  test   test;  test.my_test();//最終調用

Android SDK JNI實現,Android SDK JNI C++代碼,Android 調用C++,建立Android SDK下的JNI、JAVA應用完整步驟,Android JAVA調用C++代碼。

上述就是小編為大家分享的為Android SDK增加應用的案例實現是怎樣的了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

阿拉善右旗| 新泰市| 崇仁县| 农安县| 屯昌县| 博乐市| 威海市| 铜鼓县| 上饶市| 南康市| 青龙| 德江县| 沂源县| 东辽县| 栾城县| 鹿泉市| 宜都市| 洪洞县| 昂仁县| 饶平县| 泊头市| 新乡市| 织金县| 玛曲县| 伊春市| 会泽县| 惠水县| 青河县| 高台县| 洛浦县| 阿鲁科尔沁旗| 东兰县| 柯坪县| 平乡县| 曲阳县| 天津市| 额济纳旗| 遂昌县| 榆林市| 桓台县| 宕昌县|