a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁(yè) > 系統(tǒng) > Android > 正文

使用NDK進(jìn)行開發(fā)android

2020-07-14 13:32:51
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在eclips中配置NDK路徑
在eclipse中點(diǎn)擊菜單欄window-Perferences,配置NDK的路徑。


在工程中添加native lib
新建一個(gè)空白的Android工程,在根目錄上點(diǎn)擊右鍵Adnroid Tools - Add Native Support...

在彈出的對(duì)話框中輸入要新建的lib的名稱,點(diǎn)擊Finish,在工程目錄下會(huì)多出一個(gè)jni文件夾,里面有一個(gè)空白的cpp文件和一個(gè)Android.mk文件

Android.mk文件的內(nèi)容是
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := TestJni
LOCAL_SRC_FILES := TestJni.cpp
include $(BUILD_SHARED_LIBRARY)
TestJni就是要加載的lib的名稱,LOCAL_SRC_FILES 是資源文件的路徑。
hello jni

MainActivity.java代碼如下:

復(fù)制代碼
代碼如下:

package com.example.testjni;
import android.os.Bundle;
import android.app.Activity;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

TextView textView = new TextView(this);
textView.setText(helloFromJni());
setContentView(textView);
}

public native String helloFromJni();

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

TestJni.cpp代碼如下:

復(fù)制代碼
代碼如下:

#include <jni.h>
extern "C" jstring Java_com_example_testjni_MainActivity_helloFromJni(JNIEnv *env, jobject thiz) {
return env->NewStringUTF("Hello From Jni");
}

直接運(yùn)行程序,可以在Console窗口中看到NDK build的輸出

有一點(diǎn)要注意:由于我使用的是x86的Android虛擬機(jī)來(lái)運(yùn)行,所有使用的是x86的編譯器。制定編譯器的方法是在jni目錄新建一個(gè)Application.mk的文件,輸入以下內(nèi)容
#APP_ABI := armeabi
APP_ABI := x86
#APP_ABI := armeabi armeabi-v7a x86 mips mips-r2 mips-r2-sf
#APP_ABI := all
APP_STL := stlport_static
如果是普通arm處理器的Android手機(jī),使用APP_ABI := armeabi,如果是x86處理器的,使用APP_ABI := x86,等等。
如果APP_ABI := all,會(huì)編譯所有指令的so。
運(yùn)行結(jié)果如下:

至于C/C++的編譯是怎么實(shí)現(xiàn)的,我們可以查看一下工程的Properties

在Builders里面有多了兩項(xiàng),一個(gè)是CDT Builder,一個(gè)是Scanner Configuration Builder。
現(xiàn)有的工程添加Builder
如果工程里面已經(jīng)有jni目錄了,但是沒(méi)有配置C/C++的編譯器,高手們可以自己添加Builder,對(duì)于我這種愛(ài)投機(jī)取巧的小菜鳥,工程右鍵菜單,新添加一個(gè)空白的so,然后再刪除,CDT Builder和Scanner Configuration Builder就出來(lái)了。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 91最新网站 | 91视频免费观看网址 | 国产一区二区三区不卡在线观看 | 三级在线视频 | 日韩中文字幕电影在线观看 | 精品一区二区三区免费 | 日韩av在线一区二区三区 | 色香蕉在线 | 三区在线 | 色综合天天综合网国产成人网 | 在线观看成人小视频 | 色欧美日韩 | 国产精品无码永久免费888 | 一区二区在线免费观看 | 日韩成人影院 | 亚洲成成品网站 | 欧美久久久 | 天堂视频中文字幕 | 最新中文字幕在线 | 制服 丝袜 激情 欧洲 亚洲 | 在线xxx| 青青草精品视频 | 欧美日韩在线精品 | 国产精品久久7777 | 少妇偷人精品视频 | 亚洲精品66 | 精品国产高清一区二区三区 | 成人久久久精品乱码一区二区三区 | 欧美日韩在线免费观看 | 亚洲激情综合网 | 亚洲一区二区三区四区在线观看 | 老师的朋友2 | 99热在线播放 | 亚洲精品午夜电影 | 九九人人 | 欧美在线综合视频 | 91久久久www播放日本观看 | 亚洲第一色 | 国产小视频一区二区 | 搞黄视频在线观看 | 欧美日韩一区二区在线 |