首页 > 代码库 > Android全环境设置过程

Android全环境设置过程

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全环境设置过程