您的位置:首页 > 移动开发 > Android开发

Android java方法实现调用系统属性

2016-09-06 14:44 369 查看
     最近在写一个测试apk时需要调用Android的系统属性来设置相关的标志位,但在使用标准的java库中的System.getProperty和System.setProperty方法并不能获得Android中的系统属性,而且会出现空指针崩溃。查阅相关资料发现,虽然Android在Java库中提供System.getProperty和System.setProperty方法,我们Java程序可以通过他们来设置和获得属性,但是请注意!虽然从语法上面看Java的代码和Native代码非常相近,但是Java版本存储把属性存在其他地方,而不是我们上面提到的属性系统中。在JVM中有一个hash表来维护Java的属性。所以Java属性和Android属性是不同的,不能用Java
API(System.getProperty和System.setProperty)来设置系统属性。也不能通过Native的方法(property_get和property_set)设置Java的属性。

      虽然不能通过上述的方法得到Android的系统属性值,但Android提供了另一个api来获取这些值,即调用android.os.SystemProperties中的SystemProperties.get()和SystemProperties.set()方法来实现Android系统属性的设置和获取。但需要注意的是在eclipse的工程中我们直接用import来导入android.os.SystemProperties会报错提示找不到这个包名。经过查询android.os.SystemProperties在layoutlib.jar库文件中,此库文件在sdk\platforms\android-xxx\data\中,手动导入到工程的库文件里就OK了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: