Android:将Java表面传递给本机

时间:2014-06-19 11:22:48

标签: android java-native-interface surfaceview

我正在使用硬件解码器,它使用libstagefright.so在本机窗口上显示解码的帧 当我尝试使用“javac”命令创建用于传递曲面(来自SurfaceView)的本机函数的jni接口时,出现以下错误

 \custom_decoder.java:3: error: package android.view does not exist
 import android.view.Surface;
 error: cannot find symbol
 symbol: class Surface

我该怎么做才能避免此错误?

更新:

根据Alex barker的建议,我尝试了以下但是相同的结果

D:\android_workspace\2014\6June\ofi_vc_OMX_codec_test\src>javac -cp D:\Android_datas\android-sdk_r20.0.3-windows\android-sdk-windows ofi\ofi_vc_omx_codec_test\custom_decoder.java  
:3: error: package android.view does not exist
import android.view.Surface;
                   ^
ofi\ofi_vc_omx_codec_test\custom_decoder.java:15  
: error: cannot find symbol private native int set_display_surface(Surface disp_surface);
                                                                   ^
symbol:   class Surface  
location: class custom_decoder

1 个答案:

答案 0 :(得分:1)

根据您提供的信息,您会遇到一个简单的类路径问题。将-cp标志添加到javac命令并将其传递给SDK位置。