本文主要是介绍安卓app import android.os.servicemanager遇到的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
学习罗升阳老师的用app调用自己编写的framework的过程中,遇到了在import android.os.manager时,编译一直不过。我是将app原工程文件放在安卓源码的package/expermental目录下进行mmm 的编译方式。一直报错
packages/experimental/CGpuSettingV3.5/src/com/asus/frequencychangerv/MainActivity.java:15: 找不到符号
符号: 类 ServiceManager
位置: 软件包 android.os
import android.os.ServiceManager;
^
1 错误
make: *** [out/target/common/obj/APPS/FrequencyChangerV3.5_intermediates/classes-full-debug.jar] 错误 41
等解决了这个问题再发下半部分
最终的答案来了,虽然我是copy了罗老师的代码,但是在android.mk文件上偷懒copy了一个其他app的,其中的一句话出了问题:LOCAL_SDK_VERSION := current
这句话的作用sdk版本不能是current,否则@hide的api无法调用到!!!这个解释很模糊。
Hidden API之所以被隐藏,是想阻止开发者使用SDK中那些未完成或不稳定的部分(接口或架构)。当这些API被验证和清理后,Google的开发者会移除@hide属性,并让其在API 5官方化。很多地方在API 4 和5之间发生了变化。如果你的程序依赖某些隐藏的API,当其部署到新的平台上时,就有可能陷入困境。
具体详情参考:http://blog.csdn.net/linghu_java/article/details/8283042
这篇关于安卓app import android.os.servicemanager遇到的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!