Этот ответ касается второй строки вашего примера, представления дампа aapt для значения, определенного в resources.arsc
.
В вашем примере ресурс с идентификатором 0x7f04000 в пакете com.android.spare_parts представляет собой строку с именем spare_parts со значением, определенным в индексе 3 в таблице строк.
Строка имеет следующий формат:
resource <resource ID> <package>:<type>/<name> t=<dataType> d=<data> (s=<size> r=<res0>)
resource ID
является well known ID вы можете найти в R.java.
package
- это просто пакет, в котором этот ресурс определен и будет одинаковым для всех ресурсов в пакете.
type
тип ресурса, один из нескольких строк определено в таблице ресурсов
name
имя ресурса
data
это значение ресурса, интерпретируется в соответствии с типом данных (смотри ниже)
size
- это размер значения struct (а не значения). Кажется, всегда будет 0x0008.
res0
is always 0x00.
dataType
является одним из констант определяется here:
// Contains no data.
TYPE_NULL = 0x00,
// The 'data' holds a ResTable_ref, a reference to another resource
// table entry.
TYPE_REFERENCE = 0x01,
// The 'data' holds an attribute resource identifier.
TYPE_ATTRIBUTE = 0x02,
// The 'data' holds an index into the containing resource table's
// global value string pool.
TYPE_STRING = 0x03,
// The 'data' holds a single-precision floating point number.
TYPE_FLOAT = 0x04,
// The 'data' holds a complex number encoding a dimension value,
// such as "100in".
TYPE_DIMENSION = 0x05,
// The 'data' holds a complex number encoding a fraction of a
// container.
TYPE_FRACTION = 0x06,
// Beginning of integer flavors...
TYPE_FIRST_INT = 0x10,
// The 'data' is a raw integer value of the form n..n.
TYPE_INT_DEC = 0x10,
// The 'data' is a raw integer value of the form 0xn..n.
TYPE_INT_HEX = 0x11,
// The 'data' is either 0 or 1, for input "false" or "true" respectively.
TYPE_INT_BOOLEAN = 0x12,
// Beginning of color integer flavors...
TYPE_FIRST_COLOR_INT = 0x1c,
// The 'data' is a raw integer value of the form #aarrggbb.
TYPE_INT_COLOR_ARGB8 = 0x1c,
// The 'data' is a raw integer value of the form #rrggbb.
TYPE_INT_COLOR_RGB8 = 0x1d,
// The 'data' is a raw integer value of the form #argb.
TYPE_INT_COLOR_ARGB4 = 0x1e,
// The 'data' is a raw integer value of the form #rgb.
TYPE_INT_COLOR_RGB4 = 0x1f,
// ...end of integer flavors.
TYPE_LAST_COLOR_INT = 0x1f,
// ...end of integer flavors.
TYPE_LAST_INT = 0x1f
https://android.googlesource.com/platform/frameworks/base/+/master/tools/aapt/Resource.cpp генерирует, что, может быть, вы можете понять это там. – zapl
Не очень полезно, но спасибо! – Ahmad