PATH=$PATH:$JAVA_HOME/bin:/home/flysnow/bin;$ANDROID_HOME/tools

export PATH JAVA_HOME ANDROID_HOME JRE_HOME CLASSPATH

#set NDK env

NDKROOT=/home/cc/Android/android-ndk-r9-linux-x86

export PATH=$NDKROOT:$PATH

也有说在~/.bashrc文件末尾加上:

#set NDK env

NDKROOT=/home/cc/Android/android-ndk-r9-linux-x86

export PATH=$NDKROOT:$PATH

反正都做一下。

注意:1、linux下安卓javah生成头文件时,可能会出现权限问题:不能访问android.app.Activity

解决方法:-calsspath中附带上android.jar

javah -classpath /home/cc/Android/adt-bundle-linux/sdk/platforms/android-

18/android.jar:/home/cc/workspace/TVPlayer/bin/classes -jni http://www.doczj.com/doc/f9d0045fb7360b4c2e3f6463.htmlplayer.MainActivity

/home/cc/Android/adt-bundle-linux/sdk/platforms/android-18/android.jar就是库地址

2、关于jni函数名生存规则,对于函数名中含有_的,生成函数名会在下划线后加上数字1与包名,类名加以区分。

例如http://www.doczj.com/doc/f9d0045fb7360b4c2e3f6463.htmlplayer包中MainActivity类中定义的本地函数public native void

PushReceiveService_nativeUDRMPushTest(),jni生成函数名为

JNIEXPORT void JNICALL

Java_com_example_tvplayer_MainActivity_PushReceiveService_1nativeUDRMPushTest(JNIEnv* jenv, jobject obj)

Logo

一站式 AI 云服务平台

更多推荐