android编译时出现cannot find symbol

 

添加了一个模块,编译时出现cannot find symbol错误:
packages/apps/SignTestApp/src/com/example/signmain/Signmain.java:40: ca nnot find symbol
symbol   : method getDbm()
location: class android.telephony.SignalStrength
               int signalDbm = mSignalStrength.getDbm();

查看SignalStrength.class,明明就是定义了getDbm(),而且Signmain.java中我也有import SignalStrength类,由于经验不够,纠结了N长时间,对比Setting模块的,发现我添加的模块中的Android.mk里面多了这么个语句:
LOCAL_SDK_VERSION := current
这个句子加上的话,导致 不能使用@hide API,再次查看 SignalStrength.class中的getDbm(),果然有个@hide帽子。去掉LOCAL_SDK_VERSION := current之后,模块编译通过。

注:@hide表示不对外公开api,但是系统内部是可以使用该注释标记的接口的

你可能感兴趣的:(android编译时出现cannot find symbol)