2017-08-30 37 views
11

ja niedawno zaktualizowany do Android Studio 3Problemy ze środków generowanych przez reagują w Android Studio 3

gradle plugin: 3.0.0-beta2 
gradle: 4.1 

W naszym projekcie używamy: "reagują-native": "0.46.4" z wtyczką codepush .

budynku:

gradlew assembleStagingDebug 

działa dobrze, ale jak tylko próbuję zbudować produkcja:

gradlew assembleProductionRelease 

pojawia się błąd spowodowany przez zasobów, które są tworzone przez reagują w zadaniu 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) 

W moim podboju przeciw tej kwestii spróbowałem go z wyłączanie proguard jak:

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

Ale bez powodzenia.

Wszelkie pomysły? Byłbym wdzięczny za wyjaśnienie, gdzie ta .flat konwersja zasobów android dzieje się to, co faktycznie robi i dlaczego nie dzieje się podczas zadania StagingDebug.

Obejście przedstawione here zostało dla mnie zakończone. Ale pierwotny problem utrzymuje się i myślę.

Odpowiedz

16

W swoim gradle.properties pliku dodać następujące wiersze:

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

Dzięki, pracował dla mnie. – bendangelo

+0

Tak, to co działało również dla mnie, ale nadal uważam, że istnieje błąd w reagowaniu i powinno działać bez tej flagi właściwości. –

+0

Jedyne, co mi to robi, to zmienić błąd na "Oryginał jest tutaj. Wersja kwalifikator można implied.' –