오류이 (달빅/VM/OO/Class.cpp)에서 온다 :
이
/*
* Make sure the aren't any "bonus" flags set, since we use them for
* runtime state.
*/
/* bits we can reasonably expect to see set in a DEX access flags field */
const uint32_t EXPECTED_FILE_FLAGS = (ACC_CLASS_MASK | CLASS_ISPREVERIFIED |
CLASS_ISOPTIMIZED);
if ((pClassDef->accessFlags & ~EXPECTED_FILE_FLAGS) != 0) {
ALOGW("Invalid file flags in class %s: %04x",
descriptor, pClassDef->accessFlags);
return NULL;
}
오류 메시지가 클래스가 플래그를 0x0012 설정이 있음을 나타냅니다; 이들은 ACC_FINAL
및 ACC_PRIVATE
입니다. ACC_CLASS_MASK
, 달빅/libdex/DexFile.h에 정의 ACC_PRIVATE
포함되지 않습니다
ACC_CLASS_MASK =
(ACC_PUBLIC | ACC_FINAL | ACC_INTERFACE | ACC_ABSTRACT
| ACC_SYNTHETIC | ACC_ANNOTATION | ACC_ENUM),
ACC_INNER_CLASS_MASK
보호, 전용 및 정적이 포함되어 있지만이는 "외부"클래스에 적합하지 않다.
logcat은 무엇이라고 말합니까? – 323go