Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android ndk開發hello world入門

android ndk開發hello world入門

編輯:關於Android編程

不知道為什麼android的ndk開發資料在網上很少,還有的資料基本上無法完成入門學習demo,根本無法運行,小弟用了三天三夜的時間來弄helloworld,極盡失眠的程度。

一開始是在android studio上配置ndk開發幻鏡,然後是進行hello world的開發,但是android studio支持ndk開發相對較晚,沒有elipse成熟,在編譯的時候遇到很多問題,最終放棄(我知道這不是一個好習慣,但是等以後我還會回來的)

注:ndk在gradle上的配置

 

在這裡唠叨一句,使用android studio,那麼有必要加強下對gradle的理解。

開始在eclipse上進行ndk開發:

簡述1.創建空android項目

  2. 書寫一個本地類,定義一個空的本地方法。如 public static native String getStr();

  3. 切換到項目src目錄下,我的是home/dlzh/workspace/HelloNDK/src,然後執行javah -jni com.example.hellondk.GetString,之後在該目錄下生成一個.h文件

  4.HelloNdk.c文件寫實現native方法

  5.加載so文件,運行。

詳細步驟如下:

1.創建一個空的android項目

2.編寫一個本地GetString.class

 

public class GetString {
	//本地代碼實現
	public  static native String getStr(); //定義本地方法,由c語言實現
}
 3.鼠標右鍵點擊項目名稱,然後選擇“build project”;在項目的下面會自動生成jni和libs文件夾,然後右鍵項目,選擇Android tools--》add native support。

 

 4.然後ubuntu切換到項目的src目錄下,執行javah -jni com.example.hellondk.GetString命令,回車。將生成的com_example_hellondk_GetString.h,拷貝到jni文件加下

 5.打開jni文件夾下的HelloNdk.c文件,實現頭文件生命的方法

 

#include 
#include
/*
 * 實現頭文件方法
 */
JNIEXPORT jstring JNICALL Java_com_example_hellondk_GetString_getStr
  (JNIEnv *env, jclass){
	return env->NewStringUTF(static method call hello Ndk !);
}


 

 然後在GetString.java下添加如下代碼,加載so文件

 

  	static{
		System.loadLibrary(HelloNDK);
	}

6.然後
public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		 TextView tv = (TextView) findViewById(R.id.textview);
		tv.setText(GetString.getStr());
	}
	

}

 

 

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved