2015-02-28 9 views
5

Sto costruendo una rom Android dal codice sorgente Android ma dopo circa 5 minuti si dà questo errore.Errore di build Android: ro.build.fingerprint non può superare i 91 byte

error: ro.build.fingerprint cannot exceed 91 bytes: Android/mini_emulator_x86/mini-emulator-x86:5.0.555/AOSP/username02280306:userdebug/test-keys (97) 
make: *** [out/target/product/mini-emulator-x86/system/build.prop] Error 1 
make: *** Deleting file `out/target/product/mini-emulator-x86/system/build.prop' 
make: *** Waiting for unfinished jobs.... 

Come posso aumentare il limite di ro.build.fingerprint dimensioni?

Plus Sto costruendo su un Mac.

risposta

10

Modifica build/tools/post_process_props.py. Modificare le linee come segue:

PROP_NAME_MAX = 31 
# PROP_VALUE_MAX = 91 
PROP_VALUE_MAX = 128 

Modifica bionic/libc/include/sys/system_properties.h. Modificare le linee come segue:

#define PROP_NAME_MAX 32 
// #define PROP_VALUE_MAX 92 
#define PROP_VALUE_MAX 128 

fare

make clean 
make 

È inoltre possibile eseguire il secondo comando make in parallelo sintassi utilizzando come

make -j8 
+0

Ciao e grazie. Può 'PROP_NAME_MAX' ecc, essere impostato in boardconfig.mk? – moonbutt74

+0

Come detto @Matt, porta all'errore in 'frameworks/native/cmds/installd/installd.cpp'. Per risolvere il problema è necessario anche modificare il valore di 'kPropertyValueMax' in' frameworks/native/cmds/installd/installd_deps.h'. – Gluttton

8

In alternativa, è possibile specificare la stringa di compilazione delle impronte digitali come argomento della riga di comando da utilizzare:

make -j5 BUILD_FINGERPRINT = "....."

Ciò consentirà di rimanere entro il limite di 91 byte.