歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Cygwin配合NDK開發Android程序

Cygwin配合NDK開發Android程序

日期:2017/3/1 10:16:47   编辑:Linux編程

一、NDK

NDK 提供了一系列的工具,幫助開發者快速開發C(或C++)的動態庫,並能自動將so 和java 應用一起打包成apk。怎麼在eclipse裝這兩個我就不多說了。大家按照以前裝adt和sdk的方法來搞就好了。不過有一點是要注意的:因為cygwin是在window上模擬linux的控制台環境,所以對於訪問文件的路徑是不能帶有空格的,貌似也不能帶中文。所以ndk的解壓後存放的路徑必須不能包括空格或中文,比如這種“D:\Program Files\Android-ndk-windows”在cygwin是不能識別成功的。

二、安裝cygwin

大家可以網上搜一下

三、配置NDK環境變量

上述三樣安裝成功後,就是配置NDK環境變量的問題了。

1、 首先找到cygwin的安裝目錄,找到一個home\<你的用戶名>\.bash_profile文件,我的是:E:\cygwin\home\Administrator\.bash_profile。(注意:我安裝的時候我的home文件夾下面神馬都沒有,解決的辦法:首先打開環境變量,把裡面的用戶變量中的HOME變量刪掉,在E:\cygwin\home文件夾下建立名為Administrator的文件夾(是用戶名),然後把E:\cygwin\etc\skel\.bash_profile拷貝到該文件夾下)。

2、 打開bash_profile文件,(此處必須要使用UltraEdit文件編輯器打開,並且打開後不要轉換格式!使用其他編輯工具打開的話編輯後是亂碼,不能執行!)添加NDK=/cygdrive/<你的盤符>/<android ndk 目錄> 例 如:

NDK=/cygdrive/e/android-ndk-r5

export NDK

NDK這個名字是隨便取的,為了方面以後使用方便,選個簡短的名字,然後保存

3、打開cygwin,輸入cd $NDK,如果輸出上面配置的/cygdrive/e/android-ndk-r5信息(輸出的信息為ndk的安裝目錄),則表明環境變量設置成功了。

四:用NDK來編譯程序

1、現在用安裝好的NDK來編譯一個簡單的程序。在NDK的安裝目錄下新建一個apps目錄存放工程。在apps目錄下新建一個myjni目錄。打開eclipse,新建一個android工程,新建工程時需要取消復選框“Use default location”,並指定預先建立的myjni文件夾作為工程文件夾。

2、在eclipse裡編寫Jnitest.java文件:

package minQ.android;


import android.app.Activity;

import android.os.Bundle;

import android.widget.TextView;


public class Jnitest extends Activity {

private TextView tvTextView;

public native String speak();//聲明共享庫的函數,不需要在java裡實現

String string;

static{

System.loadLibrary("myjni");//動態加載共享庫

}

public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

string = speak();

tvTextView = (TextView)findViewById(R.id.myTextView01);

tvTextView.setText(string);

}

}

說明: 程序開始運行的時候會加載myjni, static區聲明的代碼會先於onCreate方法執行。如果你的程序中有多個類,而且如果myjni這個類不是你應用程序的入口,那麼myjni(完整的名字是libmyjni.so)這個庫會在第一次使用myjni這個類的時候加載。
Copyright © Linux教程網 All Rights Reserved