Недавно я обновился до Android Studio 3
gradle plugin: 3.0.0-beta2
gradle: 4.1
В нашем проекте мы используем: "react-native": "0.46.4" с плагином codepush.
Строительство:
gradlew assembleStagingDebug
работает отлично, но как только я пытаюсь построить производство:
gradlew assembleProductionRelease
Я получаю сообщение об ошибке, вызванное ресурсами, создаваемыми в результате выполнения задачи 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)
В своем завоевании против этой проблемы я попробовал это с отключением proguard как:
buildTypes {
release {
debuggable true
minifyEnabled false
shrinkResources false
}
debug {
debuggable true
minifyEnabled false
println proguardFiles
}
}
Но без везения.
Есть идеи? Я также был бы признателен за объяснение того, где это.flat-преобразование ресурсов android происходит, что оно на самом деле делает и почему это не происходит во время задачи StagingDebug.
Обходной путь, представленный здесь, работал для меня в конце. Но оригинальная проблема сохраняется, я думаю.
Обновление 28.3.2018 С момента обновления Android studio 3.1 я получаю следующее:
WARNING: The option 'android.enableAapt2' is deprecated and should not be used anymore. Use 'android.enableAapt2=true' to remove this warning. It will be removed at the end of 2018
Поскольку проблемы на странице реагирования закрыты, я ищу альтернативы, прежде чем они откажутся от этого метода обхода.