__property_get_too_small_error

转自:http://blog.csdn.net/syhost/article/details/14448899

 

完整的报错为:


system/core/include/cutils/properties.h:64:39: error: call to '__property_get_too_small_error' declared with attribute error: property_get() called with too small of a bufferIn function 'property_get',



解决方法:

找到调用property_get的地方 将中间一个数组参数的定义改一下:

比如:

之前为:

value[128];

.

.

property_get("persist.xxx.xxxx",value,"0");



改为:

value[PROPERTY_VALUE_MAX];

.

.

property_get("persist.xxx.xxxx",value,"0");

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: __system_property_get是一个函数,用于获取系统属性的值。它的参数是一个字符串,表示要获取的属性的名称,返回值是一个指向属性值的指针。这个函数通常用于系统级别的代码中,例如Android系统的底层实现中。 ### 回答2: __system_property_get是Android系统中一个获取系统属性的函数。所谓系统属性,指的是Android系统中一些特定的参数或配置信息,如设备型号、操作系统版本、基带版本、内核版本等等。这些属性通常可以通过访问/系统/property目录下的属性文件得到。而__system_property_get就是为了实现访问这些属性而设计的。 __system_property_get的具体用法是通过传入属性名称来获取对应的属性值。属性名称是以字符串形式进行传入的,并且需要指定一个缓冲区,用于存储获取到的属性值。如果获取成功,函数将会返回属性值的长度;如果获取失败,则返回0。 由于__system_property_get是在C/C++层实现的,因此它的使用场景相对较为局限。一般来说,它主要用于Android系统服务或底层库的开发中,以及一些需要获取系统信息的系统级应用中。在应用层开发中,由于系统属性通常需要特殊的权限才能访问,因此一般情况下不会直接使用__system_property_get函数。 需要注意的是,__system_property_get函数返回的属性值通常是一个字符串,并且需要根据具体的属性进行转化处理。例如,设备的API版本一般是以一个整数值的形式存储在属性中,因此需要通过字符串转化函数将其转化为整数值。 最后,需要指出的是,在Android 9.0之后,Google推出了更加安全的应用程序启动机制,即通过SELinux策略限制应用的访问权限,包括属性文件的访问。因此,在Android 9.0及以上版本的系统中,__system_property_get函数的使用机会更为有限。 ### 回答3: __system_property_get是Android系统为系统级应用程序提供的一个函数,主要用于获取系统属性的信息。 在Android系统中,很多系统属性信息都是被存储在一个名为“/system/build.prop”的文件中,包括设备型号、系统版本、运营商信息等等。而这些属性信息对于系统级应用程序来说是非常重要的,因为它们通常需要根据不同设备的属性信息来进行不同的操作。比如,针对不同的设备型号安装不同的驱动,或者获取不同的运营商信息进行网络连接等等。 而__system_property_get函数就是提供了一个简便的方式来获取这些系统属性信息。它的具体用法是: int __system_property_get(const char *name, char *value) 其中,name为要查询的属性名称,value为获取到的属性值。函数的返回值为获取到的属性值的长度。 在使用该函数时,需要注意以下几点: 1.传入的属性名必须以“[ro.]”开头,表示只读属性。这是为了防止误操作修改系统属性信息造成系统不稳定。 2.如果传入的属性名不存在,则函数会返回0,而value中的值不会被设置。 3.当传入的value参数为NULL时,函数仅会返回获取到的属性值的长度,而不会设置value值。 总的来说,__system_property_get函数是Android系统提供的一个非常实用的函数,可以方便系统级应用程序获取系统属性信息,从而进行更加灵活的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值