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

来源:互联网 发布:java jre 32位下载 编辑:程序博客网 时间:2024/05/18 03:00

     最近在写一个测试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了。

0 0
原创粉丝点击