標籤:android style color os ar 使用 java for strong
JDK環境變數及設定
1.下載安裝JDK
2.我的電腦-進階設定-環境變數
2.1 JAVA_HOME:你的jdk安裝目錄
2.2 Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
2.3 CLASSPATH: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
3.開始-運行-cmd,在啟動的命令視窗中運行java和javac,確定輸出正確
AndroidSDK環境變數設定
1.下載Android SDK包
2.我的電腦-進階設定-環境變數
2.1 ANDROID_HOME: Android SDK的安裝目錄
2.2 在Path中添加: %ANDROID_HOME%\platforms;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;
3.開始-運行-cmd,在啟動的命令視窗中運行adb,android
Android NDK環境變數設定
1.下載Android NDK r7以上的包
2.我的電腦-進階設定-環境變數
2.1 ANDROID_NDK: Android NDK的安裝目錄
2.2 在Path中添加: %ANDROID_NDK%;%ANDROID_NDK%\build;
3.開始-運行-cmd,在啟動的命令視窗中運行ndk-build
使用eclipse開發JNI程式
eclipse最好使用Google官方提供的ADT build包,如果是自己配置eclipse要添加cdt外掛程式,Android adt,ndk外掛程式
1.建立一個普通的Android項目。
2.Window-Preferce-Android(NDK)設定NDK路徑
4.選中項目,右鍵,選擇Android Tools-Add Native Supprot,在彈出的輸入框中填寫.so名字。一般用lib+.so
3.選中項目,右鍵-properties-C/C++ General-Paths and Symbols->Add-File System Tree->C:\develop\android-ndk-r9d\platforms\android-19\arch-arm\usr\include
4.在eclipse產生的jni下,將.cpp改成.c,並將Android.mk檔案中LOCAL_SRC_FILES := libtestjni.cpp 改為LOCAL_SRC_FILES := libtestjni.c
5.在Activity中添加一個native方法,返回一個字串即可
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toast.makeText(this, sayHello(), Toast.LENGTH_LONG).show(); } private native String sayHello();
6.通過cmd進入到項目的src目錄下,運行javah 包名.Activity名
javah com.example.testjni.MainActivity
7.在eclipse項目中,重新整理目錄,找到產生的標頭檔,將方法名複製到jni下已修改為*.c的檔案中。
8.在c檔案新添加的方法中設定形參名
javah產生的方法名
JNIEXPORT jstring JNICALL Java_com_example_testjni_MainActivity_sayHello (JNIEnv *, jobject);
c檔案中修改後的方法
JNIEXPORT jstring JNICALL Java_com_example_testjni_MainActivity_sayHello (JNIEnv *env, jobject obj){ return (*env)->NewStringUTF(env,"Hello");}
9.在左上方確定當前處於C/C++視圖,找到類似鎚子的按鈕,單擊,在Console觀察輸出,找到類似
[armeabi] Compile thumb : testjni <= libtestjni.c
10.在使用到jni方法的Activity中,添加如下內容.注意loadLibrary中的名字要和console中Compile thumb輸出的一直
static { System.loadLibrary("testjni"); }
11.運行Android項目,如果能夠成功彈出tost提示,則表示jni調用成功了
Tips
1.JNI使用的方法名與Activity中使用的對應規則
com.example.testjni.Activity.sayHello() == Java_com_example_testjni.Activity_sayHello()
Android全環境設定過程