error: ro.build.fingerprint cannot exceed 91 bytes:然後網路上說,改一些 PROP_VALUE_MAX 的值:
http://stackoverflow.com/questions/28776970/android-build-error-ro-build-fingerprint-cannot-exceed-91-bytes
Edit build/tools/post_process_props.py. Change lines as follows: PROP_NAME_MAX = 31 # PROP_VALUE_MAX = 91 PROP_VALUE_MAX = 128 Edit bionic/libc/include/sys/system_properties.h. Change lines as follows: #define PROP_NAME_MAX 32 // #define PROP_VALUE_MAX 92 #define PROP_VALUE_MAX 128 Do make clean make所以照著改...
然後就出現...
In file included from hardware/qcom/camera/QCamera/HAL/core/src/QCameraHWI_Record.cpp:27:0: In function 'int property_get(const char*, char*, const char*)', inlined from 'virtual android::status_t android::QCameraStream_record::getBuf(mm_camera_frame_len_offset*, uint8_t, uint8_t*, mm_camera_buf_def_t*)' at hardware/qcom/camera/QCamera/HAL/core/src/QCameraHWI_Record.cpp:220:60: system/core/include/cutils/properties.h:122:41: error: call to '__property_get_too_small_error' declared with attribute error: property_get() called with too small of a buffer __property_get_too_small_error();因為一開始出現了 ...所以改 PROPERTY_VALUE_MAX 從 92 改 128.
結果出現上面的錯誤。
因為google 很好心的寫了一個 check, 在 system/core/include/properties.h:
int property_get(const char *key, char *value, const char *default_value) { size_t bos = __bos(value); if (bos < PROPERTY_VALUE_MAX) { __property_get_too_small_error(); ...
所以問題應該是在call property_get( ) function 的 code, 傳入的 array size 太小。
所以打開 QCameraHWI_Record.cpp : 220 : 60:
char value[100]; ... property_get("persist.camera.mem.usecache",value,"1"); ...把 value[100] 改 value[PROPERTY_VALUE_MAX]
沒有留言:
張貼留言