Valor inesperado de nativeGetEnabledTags: 0

301

Instalei a versão mais recente do SDK (r21) e ADT 21.0.0. Tentei um código simples e funciona bem, mas agora recebo um aviso no LogCat que não apareceu nas versões anteriores:

Valor inesperado de nativeGetEnabledTags: 0

Eu pesquisei no Google e encontrei o Problema 39723: O emulador spams o LogCat com a mensagem "Valor inesperado da nativeGetEnabledTags: 0" .

O que isso significa?

Laksh
fonte
30
isso significa que há um erro no SDK mais recente. certifique-se de marcar com estrela o problema para votar na correção.
11136 Jeffrey Blattman
Eu tenho o mesmo problema, devo fazer o downgrade do aplicativo?
newday

Respostas:

478

Eu também tive esse problema também. Como solução alternativa, estou filtrando a LogCatsaída com a seguinte expressão no by Log Messagecampo do filtro:

^(?!.*(nativeGetEnabledTags)).*$ 

Caso contrário, é tão spam que é quase inútil.

Seguindo a sugestão de Laksh , se você deseja filtrar isso sempre, sem precisar escrevê-lo sempre no Search for messagescampo:

  1. Vá para sua Logcat
  2. Na Saved Filtersparte à esquerda, clique em Edit selected logcat filter(Se filtros salvos não estiver visível, clique em Exibir exibição de filtros salvos no Logcat)
  3. Lá, no campo Por mensagem de log, insira ^(?!.*(nativeGetEnabledTags)).*$.
Hendrik
fonte
por favor me diga como escrever isso no Log.
precisa saber é o seguinte
67
Vá para o seu Logcat e, na Saved Filtersparte, clique em Edit selected logcat filter. Lá no by Log Messagecampo entre ^(?!.*(nativeGetEnabledTags)).*$. Se Saved Filtersnão estiver visível, clique no Display saved filters viewLogcat.
Laksh
Esta é uma boa solução para aqueles de nós usando imagens da Intel (em oposição a ARM, onde este é suposto ser fixo)
MattD
Ainda estou aprendendo expressões regulares e estou um pouco confuso com isso. Entendo os componentes (início da linha, previsão negativa, caracteres, literal de cadeia, caracteres, final de linha), mas não entendo por que é necessário. Não um regex retornar qualquer linha que contém uma correspondência, então por que precisamos ^, .*e $? Por que não apenas (?!nativeGetEnabledTags)? (ps Isso não funciona)
Davids
Talvez você esteja pensando no grepque é legal e pesquise na linha por padrão. A resposta para: "Uma regex não retorna nenhuma linha que contenha uma correspondência ..." é NÃO.
dcow
59

É um erro na imagem de sistema do emulador para API 17.

No momento, suas soluções alternativas são as seguintes:

Se você não precisa do nível 17 da API

  • Use um emulador com API 16 (ou inferior) ...
  • ... ou superior (API 19, por exemplo, testada para resolver o problema também).

Se você precisa do nível 17 da API

  • Use um dispositivo real: Nexus 4, Nexus 7, Nexus 10.
  • Use o filtro LogCat sugerido por Hendrik. Você terá que editar todos os filtros que tiver (no entanto, se quiser corrigi-los todos).
Iñigo
fonte
3
Eu uso o Nexus 7 Real Device, mas o bug ainda aparece no Logcat ... A solução alternativa de Hendrik é a melhor por enquanto ..
Laksh
1
Mesmo com um Nexus 4 e um Galaxy Nexus com 4.2.1. Embora a solução alternativa seja um pouco limitada: outros logs tendem a desaparecer rapidamente.
3c71 30/01
Parece que esses dispositivos reais também têm a imagem do sistema de buggy. Eu acho que sua única solução alternativa nesse caso no filtro de log.
Iñigo 31/01
Não é necessário, é mais baixo. Eu tive o mesmo problema, executei um emulador executando o Android 4.4.2 API Level 19 e ele também resolveu o problema.
Xavi Montero
18

O link ao qual você se referiu tem a resposta. É um bug introduzido na revisão mais recente das ferramentas. Nos comentários a seguir, você pode ler que um representante do Google diz que uma correção está a caminho.

Tasqa
fonte
15

Atualize o ARM EABI v7a System Imagefrom Android SDK Managere o aviso não será mais visto .. !! :)

Sim. Isso funciona apenas para a imagem do sistema ARM EABI e não para a imagem da Intel.

Atualizar

Parece que há uma atualização disponível para o Intel x86 Atom System Imagede API 18 que corrige o problema (eu não tentei embora). A linkpara instalar manualmente a imagem do sistema. Claro que também está disponível no Android SDK Manager.

Mas é apenas para o Android 4.3. Os desenvolvedores do 4.2.x ainda precisam aguardar uma correção ..!

Laksh
fonte
Não tem nenhum efeito, não se incomode
Adam
1
Isso tem um efeito! Após a atualização da imagem do sistema, o bug não é visto. Se não houver efeito no seu caso, tente também atualizar seu adt plugine android sdk.
Laksh
7
Eu ainda vejo isso na imagem da Intel.
Kevlar
2
A atualização da imagem do sistema ARM EABI m7a funcionou para mim. Obrigado!
TrippinBilly #
7
Esta não é uma solução para a imagem da Intel . ARM EABI não é para a Intel, obviamente.
Petr Gladkikh
5

O problema com imagens do Intel x86 Atom e "nativeGetEnabledTags: 0" foi corrigido com o lançamento da imagem do Android 4.3 (API 18) Intel x86 Atom. Acabei de testar e posso confirmar isso.

Com imagens ARM, isso foi corrigido há algum tempo, eu sei ...

azislo
fonte
4

Como essas mesas de mesa são marcadas com a Tracetag, você pode usar expressões mais simples para filtrá-las no by Log Tagcampo:

^(?!Trace)

É isso aí.

Aliás, também vejo essas mensagens no dispositivo real (Fly IQ4410).

Idolon
fonte
4

Eu estava recebendo muitas mensagens semelhantes, então precisava de melhores filtros. Adicione estes filtros ao LogCat:

Por tag de log:

^(?!.*(GN_FW_TextView|GN_FW_Editor|SurfaceTextureClient|skia|AbsListView|Provider/Settings|InputMethodManager|jdwp)).*$

Por mensagem de log:

^(?!.*(nativeGetEnabledTags)).*$
Caner
fonte
1

Eu adicionei o ^(?!.*(nativeGetEnabledTags)).*$ filtro, mas você pode ver como poucos me ajudam:

insira a descrição da imagem aqui

de 1157 é filtrado alguns e 799 ignorou a mesma proporção, mas números um pouco maiores:

insira a descrição da imagem aqui

Eu precisava adicionar o "SpamFilter" para poder usar o Logcat:

insira a descrição da imagem aqui

por etiqueta de registo:

 ^(?!Trace|ADB_SERVICES|BufferQueue|wpa_supplican|SurfaceFlinger|Settings/BW|Bluetooth HS/HF)

por nome do aplicativo:

^(?!com.android.systemui|system_process)

Para mim, tornou um pouco utilizável o Logcat.


fonte