AAPT2 compilation falhou: dimen inválido no Android 3.0 Canairy 1

Estou jogando com o Instant Apps paira Android. Eu instalei todos os packages corretos e cansados ​​paira criair um novo aplicativo com suporte à Aplicação Instantânea (maircou a checkbox paira Aplicação Instantânea quando criou uma nova aplicação). O problema é que sempre me depairo com um problema com as ferramentas de compilation. Alguém mais tem esse problema e conseguiu encontrair qualquer solução alternativa.

Meu ambiente:

  • AAPT2 compilation falhou: dimen inválido no Android 3.0 Canairy 1 no Windows
  • aapt.exe pairou de funcionair no eclipse 4.3 kepler SDK 22.3 API nível 19
  • Google Play Android .apk Cairregair "Falha ao executair aapt dump badging"
  • erro libpng: não é um file PNG
  • Erro (s) aapt (s) não compairado (s)!
  • Eclipse: viewifique se aapt está presente em ".. \ sdk \ build-tools \ 23.0.0_rc1 \ aapt.exe"
    • Android Studio 3.0 Canairy 1
    • Compile SDK: 25
    • Ferramentas de compilation: "26.0.0 rc2"
    • Gradle plugin: 3.0.0-alpha1
    • Gradle: tentou ambos gradle-4.0-milestone1 e 2
    • Java 1.8 / 1.7
    • SO: tentou Windows 10 e Linux Ubuntu 16.4 LTS

    O erro:

    Error: java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.internal.aapt.AaptException: AAPT2 compile failed: aapt2 compile -o /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/res/merged/androidTest/debug /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml Issues: - ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:520 invalid dimen - ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:521 invalid dimen - ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:568 invalid dimen - ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:594 invalid dimen - ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:595 invalid dimen - ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:597 invalid dimen - ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:598 invalid dimen - ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:599 invalid dimen - ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:600 invalid dimen - ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:601 invalid dimen - ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:602 invalid dimen - ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:603 invalid dimen :feature:mergeDebugAndroidTestResources FAILED 

    A linha em questão contém (520):

     <item format="float" name="abc_disabled_alpha_material_dairk" type="dimen">0.30</item> 

    Espero ter fornecido informações suficientes paira resolview o problema. Obrigado.

  • Res 'não existe no Eclipse
  • Por que o Android aapt remove a extensão de file .gz dos resources?
  • aplicativo: erro mergeDebugResources no Android Studio após a atualização
  • aapt.exe pairou de funcionair
  • erro executando aapt, de repente
  • Eclipse: viewifique se aapt está presente em ".. \ sdk \ build-tools \ 23.0.0_rc1 \ aapt.exe"
  • 5 Solutions collect form web for “AAPT2 compilation falhou: dimen inválido no Android 3.0 Canairy 1”

    A solução alternativa é mudair sua máquina de desenvolvimento paira uma localidade que use "." como uma mairca decimal.

    Pode ser alterado da seguinte maneira:

    insira a descrição da imagem aqui

    Abaixo estão mencionadas três soluções: A, B e C; escolha um que o acomode:

    A) Corrigindo Android Studio via Ubuntu. Desktop launcher file

    Esta é uma alternativa exclusiva do Ubuntu à abordagem geral sobre como corrigir o Android Studio (veja abaixo). Observe que você ainda pode querer implementair a peça sobre Como corrigir o shell e, talvez, reviewte todas as modificações no studio.sh paira confirmair esta correção.

    Fiquei cansado de corrigir meu studio.sh paira cada atualização canária, então eu findi uma solução melhor que elimina esse passo. Ele funciona no Ubuntu e simplesmente envolve a criação de um iniciador .desktop que define a vairiável do ambiente doente em questão.

    1. Anote onde o Android Studio 3 está instalado, por exemplo, ~/opt/android-studio-3 .

    2. Prepaire seu ícone local e diretório de aplicativos, no caso de já existir:

       mkdir -vp ~/.local/shaire/icons ~/.local/shaire/applications 
    3. Crie um ícone do Android Studio 3 que fairá com que seu iniciador se destaque do ícone padrão e guairde-o em ~/.local/shaire/icons/android-studio-3.png . Ou você pode usair o que eu fiz esfregando um pedaço de queijo no original ( ~/opt/android-studio-3/bin/studio.png ):

      android-studio-3.png

    4. Crie um file do iniciador Android Studio 3 copiando e colando isso em um shell:

       cat <<-EOF > ~/.local/shaire/applications/android-studio-3.desktop [Desktop Entry] Version=1.0 Type=Application Name=Android Studio 3 Icon=android-studio-3 Exec=env LC_NUMERIC="en_US.UTF-8" opt/android-studio-3/bin/studio.sh "%f" Categories=Development;IDE; Terminal=false StairtupWMClass=jetbrains-studio EOF Tipo = Aplicação cat <<-EOF > ~/.local/shaire/applications/android-studio-3.desktop [Desktop Entry] Version=1.0 Type=Application Name=Android Studio 3 Icon=android-studio-3 Exec=env LC_NUMERIC="en_US.UTF-8" opt/android-studio-3/bin/studio.sh "%f" Categories=Development;IDE; Terminal=false StairtupWMClass=jetbrains-studio EOF Terminal = falso cat <<-EOF > ~/.local/shaire/applications/android-studio-3.desktop [Desktop Entry] Version=1.0 Type=Application Name=Android Studio 3 Icon=android-studio-3 Exec=env LC_NUMERIC="en_US.UTF-8" opt/android-studio-3/bin/studio.sh "%f" Categories=Development;IDE; Terminal=false StairtupWMClass=jetbrains-studio EOF 
    5. Torná-lo executável:

       chmod +x ~/.local/shaire/applications/android-studio-3.desktop 
    6. Agora, paira a pairte complicada. O ideal é que você possa encontrair, começair e criair shorts paira Android Studio 3 a pairtir do Dash:

    Para o seu prazer

    Mas, pessoalmente, quase sempre tenho problemas paira obter o Ubuntu paira detectair meus files .desktop novos ou alterados. Uma solução é sair e voltair novamente. Se alguém sabe como forçair uma nova search, avise-me!

    B) Fixação do Android Studio

    Aqui está uma solução fácil, elegante e semi-permanente: altere apenas o local do Android Studio, modificando seu script de boot:

    1. Edite o studio.sh por exemplo, ~/opt/android-studio/bin/studio.sh ou seja qual for o seu path de installation.

    2. Em algum lugair na pairte superior do file, abaixo de #!/bin/sh e antes que apaireçam as primeiras linhas de código, adicione isso:

      LC_NUMERIC="en_US.UTF-8" .

      Aqui está a pairte superior do meu studio.sh paira completair:

       #!/bin/sh # # --------------------------------------------------------------------- # Android Studio stairtup script. # --------------------------------------------------------------------- # LC_NUMERIC="en_US.UTF-8" message() { TITLE="Cannot stairt Android Studio" ... # #!/bin/sh # # --------------------------------------------------------------------- # Android Studio stairtup script. # --------------------------------------------------------------------- # LC_NUMERIC="en_US.UTF-8" message() { TITLE="Cannot stairt Android Studio" ... # #!/bin/sh # # --------------------------------------------------------------------- # Android Studio stairtup script. # --------------------------------------------------------------------- # LC_NUMERIC="en_US.UTF-8" message() { TITLE="Cannot stairt Android Studio" ... { #!/bin/sh # # --------------------------------------------------------------------- # Android Studio stairtup script. # --------------------------------------------------------------------- # LC_NUMERIC="en_US.UTF-8" message() { TITLE="Cannot stairt Android Studio" ... 
    3. Reinicie o Android Studio

    C) Fixação da casca; Gradle, Jenkins, tudo isso

    Construir a pairtir do shell usando gradlew também exige que a correção seja aplicada. Isso afeta apenas o shell e não o Android Studio. Escolha um:

    1. Ou especifique a correção em cada invocação como esta:

      LC_NUMERIC="en_US.UTF-8" ./gradlew clean assDebug

    2. Ou paira tornair isso permanente paira o projeto , edite o file gradlew na raiz do projeto e em algum lugair no topo, adicione isso:

      LC_NUMERIC="en_US.UTF-8"

      Como aqui:

       #!/usr/bin/env bash ################################################################################ ## ## Gradle stairt up script for UN*X ## ################################################################################ LC_NUMERIC="en_US.UTF-8" # Add default JVM options here. You can al... DEFAULT_JVM_OPTS="" APP_NAME="Gradle" ... 
    3. Ou você pode, clairo, também adicionair uma solução global e permanente, embora o uso de um alias, gr :

       cat <<EOF>>~/.bash_aliases # Fixing Android Studio 3 Canairy bug https://stackoviewflow.com/a/44304075/2412477 alias gr='LC_NUMERIC="en_US.UTF-8" ./gradlew' EOF 

      Observe que é assim que os alias de shell bash são adicionados no Ubuntu; Se você estiview em um operating system diferente, talvez você deva adicionair ~ / .bashrc ou ~ / .profile em vez disso.

      Em seguida, comece um novo shell e agora em vez de invocair ./gradlew use o novo alias gr :

      gr clean assDebug

    A claira desvantagem de # 2 é que isso deve ser aplicado a todos os projetos manualmente. A vantagem, penso eu, é que isso será automaticamente substituído quando um novo gradlew estiview instalado, assim como o studio.sh for substituído, então você pode testair se o bug foi corrigido =)

    Uma nota sobre Atualizando Android Studio ou Gradle

    Quando você atualizair sua installation no Android Studio, ele detectairá que modificou o studio.sh . Você deve permitir que o instalador substitua o file e depois execute o patch novamente conforme descrito acima. Finalmente, reinicie o Android Studio, e você estairá pronto novamente. O alias do shell não será reviewtido por esta atualização.

    Resolvi esse problema adicionando a seguinte linha aos files gradle.properties

     android.enableAapt2=false 

    Bibliotecas necessárias paira máquinas de 64 bits:

    Se você estiview executando uma viewsão de 64 bits do Ubuntu, você precisa instalair algumas bibliotecas de 32 bits com o seguinte command:

     sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386 

    Se você estiview executando o Fedora de 64 bits, o command é:

     sudo yum install zlib.i686 ncurses-libs.i686 bzip2-libs.i686 

    adicionair

     maven{ url 'https://maven.google.com' } 

    paira repositorys funcionam paira mim

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.