2013-08-20 3 views
2

Каков выходной формат aapt?Формат выходного файла Android

, например, проверить вывод здесь http://elinux.org/Android_aapt

конфигурации 0 Ланг = - CNT = - Orien = 0 = 0 касание плотность = Защиту ключ = 0 Влиян = 0 нав = 0 ш = 0 ч = 0 SZ = 0 LNG = 0

ресурсов 0x7f040000 com.android.spare_parts: XML/spare_parts: T = 0x03 D = 0x00000003 (с = 0x0008 г = 0x00)

что делает каждое поле означает? есть ли какая-либо документация или что-то еще?

+0

https://android.googlesource.com/platform/frameworks/base/+/master/tools/aapt/Resource.cpp генерирует, что, может быть, вы можете понять это там. – zapl

+0

Не очень полезно, но спасибо! – Ahmad

ответ

0

Этот ответ касается второй строки вашего примера, представления дампа 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 
Смежные вопросы