2017-08-30 5 views
11

I récemment mis à jour à Android studio 3Problèmes avec les ressources générées par dans Android réagissent Studio 3

gradle plugin: 3.0.0-beta2 
gradle: 4.1 

Dans notre projet, nous utilisons: "réagir-native": "0.46.4" avec le plugin de codepush .

Bâtiment:

gradlew assembleStagingDebug 

fonctionne très bien, mais dès que je tente de construire la production:

gradlew assembleProductionRelease 

je reçois une erreur causée par des ressources qui sont créés par réagir dans la tâche processProductinoReleaseResources :

Issues: 
- ERROR: /Users/user/react/android/app/build/intermediates/res/merged/production/release/drawable-hdpi/node_modules_reactnavigation_src_views_assets_backicon.png uncompiled PNG file passed as argument. Must be compiled first into .flat file. 
- ERROR: failed parsing overlays 
     at com.android.builder.internal.aapt.v2.AaptV2Jni.buildException(AaptV2Jni.java:154) 

Dans ma conquête de ce problème, je l'ai essayé avec désactiver proguard comme:

buildTypes { 
     release { 
      debuggable true 
      minifyEnabled false 
      shrinkResources false 
     } 
     debug { 
      debuggable true 
      minifyEnabled false 
      println proguardFiles 
     } 
    } 

Mais sans aucune chance.

Des idées? J'apprécierais également une explication de où cette conversion .flat des ressources d'androïde arrive ce qu'elle fait réellement et pourquoi cela ne se produit pas pendant la tâche StagingDebug.

La solution de contournement présentée here a fonctionné pour moi à la fin. Mais le problème d'origine persiste je pense.

Répondre

16

Dans votre fichier gradle.properties ajouter des lignes suivantes:

classpath 'com.android.tools.build:gradle:3.0.0' 
distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip 
android.enableAapt2=false 
+0

Merci, a travaillé pour moi. – bendangelo

+0

Oui, cela a fonctionné pour moi aussi, mais je pense toujours qu'il y a un bug dans la réaction et cela devrait fonctionner sans ce drapeau de propriété. –

+0

La seule chose que cela fait pour moi est de changer l'erreur en 'Original est ici. Le qualificatif de version peut être implied.' –