OSX系統下搭建Android NDK開發環境

閒話不多說,直接入正題:

我的環境:

     操作系統:osx 10.10

     IDE:eclipse luna

     SDK: 19

默認你已經搭建好了SDK開發環境


第一步,下載OSX平臺下的ndk工具包:

在我的網盤中比較新的r10版本可下載:http://pan.baidu.com/s/1eQhn9aq


第二步,配置環境變量

在你的用戶目錄下創建.bash_profile文件加入:

export PATH=${PATH}:/Users/devnn/Documents/android_ndk/android-ndk-r10e
A_NDK_ROOT=/Users/devnn/Documents/android_ndk/android-ndk-r10e
export A_NDK_ROOT
export PATH=${PATH}:/Users/devnn/Documents/android-sdk-macosx/platform-tools
export PATH=${PATH}:/Users/devnn/Documents/android-sdk-macosx/tools
A_SDK_ROOT=/Users/devnn/Documents/android-sdk-macosx
export A_SDK_ROOT

當然注意路徑要作相應的修改。


第三步,打開Eclipse配置ndk路徑,preference->android->ndk


第四步,創建測試工程NDK_TEST


第五步,右鍵工程->Android Tools->Add Support Library

然後在你的工程目錄下生成了一個目錄jni裏面有一個cpp文件和mk文件。我們先測試c文件,所以把它的後綴改成c。內容參考如下:

#include <string.h>
#include <jni.h>

jstring Java_com_example_ndk_MainActivity_hello(JNIEnv* env, jobject thiz)
{
    return (*env)->NewStringUTF(env, "Hello ,this is from jni");
}

注意C文件的名字和mk文件中對應的名字要一致。

到這裏,這個C文件代碼會報錯,看下一步。


第六步,右鍵工程->propertiers->C/C++ Gerneral->Paths and Symbols

在include這個選項下點擊add,會彈出一個對話框讓你選擇頭文件路徑,選File system,比如我的是

/Users/devnn/Documents/android_ndk/android-ndk-r10e/platforms/android-19/arch-arm/usr/include

這個時候,c文件中的錯誤會消失。


第七步,編寫你的Activity的代碼

package com.example.ndk;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends Activity {
    private TextView tvText;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tvText=(TextView) findViewById(R.id.text);
        tvText.setText(hello());
    }
    public native String hello();
    static{
        System.loadLibrary("NDK_TEST");
    }
}

我的工程結構如下:

wKioL1ZK8snSMFgdAADNndiybRk055.png

然後,運行你的工程,就會看到結果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章