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

歡迎訪問 生活随笔!

生活随笔

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

Android

Android NDK环境搭建

發(fā)布時(shí)間:2025/4/16 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android NDK环境搭建 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ? ?在Android上要想開發(fā)出高效率的軟件,還是須要用到C/C++語言,要想在Java上開發(fā)C/C++語言就須要在IDE上安裝NDK;在Android的官網(wǎng)上SDK開發(fā)環(huán)境已經(jīng)包括了ADT插件。最新的Android開發(fā)IDE能夠到官網(wǎng)下載:http://developer.android.com/sdk/index.html

因?yàn)榻贏ndroid官網(wǎng)和google在國內(nèi)常常進(jìn)不去,我就把下載的放到網(wǎng)盤,有須要的能夠去下載:http://pan.baidu.com/s/1hq3iBGw

準(zhǔn)備的文件


? ? 在新版本號(hào)的ADT上安裝NDK環(huán)境非常方便。我的ADT版本號(hào)是V22.0.5,版本號(hào)號(hào)在打開ADT載入時(shí)會(huì)顯示出來


在官網(wǎng)上:http://developer.android.com/tools/sdk/ndk/index.html下載最新的NDK。NDK版本號(hào)在r7以上之后就集成了Cygwin。不須要單獨(dú)去安裝Cygwin

1、Eclipse配置


SDK配置


NDK配置,路徑就是解壓出來的NDK根文件夾


下面就來測(cè)試下NDK是否已經(jīng)成功安裝

隨便新建一個(gè)Androidproject,加入Add Native Support




此時(shí)新建的project就多了一個(gè)jni文件夾


IDE有可能會(huì)報(bào)一個(gè)錯(cuò)誤:

[2014-06-23 17:08:36 - Unable to launch cygpath. Is Cygwin on the path?] java.io.IOException: Cannot run program "cygpath": CreateProcess error=2, ?????μ???

project右鍵。選擇下面選項(xiàng)



環(huán)境變量設(shè)置NDKROOT,Value就是你解壓出來的NDK文件夾


在這里配置的:${NDKROOT}/ndk-build.com就是下面腳本文件


這時(shí)再去Cleanproject就不會(huì)報(bào)錯(cuò)了


下面就來編寫JNI的C++文件。可是沒有代碼提示,是因?yàn)闆]有導(dǎo)入頭文件的原因


導(dǎo)入頭文件方法,選擇“Project Properties”


點(diǎn)擊“Add"



此時(shí)再按"alt + /"就有代碼提示


接下來就是編寫代碼

在NDKTest.cpp文件

#include <string.h> #include <jni.h>jstring Java_com_dzt_ndktest_MainActivity_stringJNI(JNIEnv* env,jobject thiz){return env->NewStringUTF("Hello JNI 我的第一個(gè)JNI"); } Android.mk文件是自己主動(dòng)生成的,能夠不用改動(dòng)

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := NDKTest LOCAL_SRC_FILES := NDKTest.cppinclude $(BUILD_SHARED_LIBRARY) Activity類調(diào)用代碼

package com.dzt.ndktest;import android.app.Activity; import android.os.Bundle; import android.widget.TextView;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);TextView tv = (TextView) findViewById(R.id.tv);tv.setText(stringJNI());}public native String stringJNI();static {System.loadLibrary("NDKTest");} } build project


成功通過


再執(zhí)行程序,非常不幸。報(bào)錯(cuò)了


假設(shè)是c++文件須要加上extern "C",從C語言導(dǎo)出

改動(dòng)代碼例如以下

#include <string.h> #include <jni.h>extern "C" { jstring Java_com_dzt_ndktest_MainActivity_stringFromJNI(JNIEnv* env,jobject thiz) {return env->NewStringUTF("Hello JNI"); } }
成功通過


源碼下載:http://download.csdn.net/detail/deng0zhaotai/7540771
很多其它的樣例能夠到下面文件夾獲取,這是NDK自帶的樣例。



轉(zhuǎn)載于:https://www.cnblogs.com/mqxnongmin/p/10894763.html

總結(jié)

以上是生活随笔為你收集整理的Android NDK环境搭建的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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