Android 嵌入式開發帶你一步一步入坑


先去下載NDK

下載過程非常長,現在完后,你的NDK路徑在這里

然后就需要去配置環境變量:

然后去Path里面配置上這個

然后去黑窗口輸入ndk-build:

然后打開你的Studio開始創工程

點加號創建

 

方便粘貼內容給出:

$JDKPath$\bin\javah.exe 
-classpath . -jni -d $ModuleFileDir$/src/main/jni $FileClass$
$ModuleFileDir$\src\main\java

再點+號

E:\androidstudio\studiosdk\ndk-bundle\ndk-build.cmd//自己去自己的NDK下面找這個文件去,誤粘
$ModuleFileDir$\src\main\   //不管自動出來什么刪掉,粘這個,本人被坑了一天,百度都沒看董

創建一個類Utils2

public class Utils2 {
    public native int chengfa(int a,int b);

}

然后點擊:

然后再往類里面加上

 就在剛寫的類里面加

 static {
        System.loadLibrary("MySo");
    }

然后換成Project的文檔查看方式在main下就能看到你有了一個jni文件里面多了一個h文件如果沒有,先不要往下進行了,勝敗乃兵家常事大俠請重新來過。

如果出來了那么久接着走

點擊下拉創建一個c文件

然后寫代碼:

#include<stdio.h>
#include<jni.h>
#include<stdlib.h>
#include "rise_lung_sow_dra_ceshindk_Utils2.h"//寫你自己生成的h文件的文件名
JNIEXPORT jint JNICALL Java_rise_lung_sow_dra_ceshindk_Utils2_chengfa//從h文件里將你的方法粘過來,然后去掉“;”寫成大括號,自己把參數名加上然后大括號里面寫代碼
  (JNIEnv *env, jobject thisz, jint a, jint b){
    return a*b;
  }

然后創建Android.mk文件還是jni文件下創建file

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    := MySo//這里寫你上面后加到類里面的代碼里的名字,不懂的看圖
LOCAL_SRC_FILES := test2.c//這個寫c文件的名字
include $(BUILD_SHARED_LIBRARY)

然后右擊你的c文件

 

然后控制台會提示你生成的文件,生成完之后是這樣

然后在你的main下創建jniLibs文件把你lib里面的文件全部復制一份粘到里面,然后把生成的lib刪掉

然后打開appbuild將下面的代碼粘到android下

    sourceSets.main {
        jniLibs.srcDir 'libs'
        jni.srcDirs = []
    }

然后在MainActivity里面調用:

  Utils2 utils2 = new Utils2();
        int chengfa = utils2.chengfa(3, 5);
        Toast.makeText(MainActivity.this,"乘法:"+chengfa,Toast.LENGTH_LONG).show();

然后點擊運行。本人請測。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM