Au moment de la rédaction, les versions les plus récentes de Réagir Natif (>0.57.0) ont augmenté la Gradle wrapper niveau de 4,4 et Gradle plugin pour 3.1.4, comme indiqué par le changelog. Cela a pour effet de rendre le processus de build Gradle stocker les résultats de AAPT, qui sont maintenant nécessaires, dans un autre répertoire que précédemment.
En termes de Nhan Cao's awesome solution de contournement, nous avons besoin de faire une légère modification pour empêcher la duplication des ressources collisions, car il a l'air d'être signalé à l'ancien répertoire et non pas l'application de l' generated
répertoire. En changeant le répertoire cible où ces fichiers en double sont fusionnées après les ressources ont été générés, on peut encore dedup les ressources.
Existants react.gradle
désigne le chemin d'accès ci-dessous:
$buildDir === <project-working-directory>/android/app/build
Le double de chemins de fichier peuvent apparaître entre:
file("$buildDir/../src/main/res/drawable-${resSuffix}")
file("$buildDir/generated/res/react/release/drawable-${resSuffix}")
Comme solution, nous pouvons mettre à jour Nhan de la solution comme suit (assurez-vous d'inclure ceci dans l' currentBundleTask
après la déclaration d' doFirst
en react.gradle
:
doLast {
def moveFunc = { resSuffix ->
File originalDir = file("$buildDir/generated/res/react/release/drawable-${resSuffix}");
if (originalDir.exists()) {
File destDir = file("$buildDir/../src/main/res/drawable-${resSuffix}");
ant.move(file: originalDir, tofile: destDir);
}
}
moveFunc.curry("ldpi").call()
moveFunc.curry("mdpi").call()
moveFunc.curry("hdpi").call()
moveFunc.curry("xhdpi").call()
moveFunc.curry("xxhdpi").call()
moveFunc.curry("xxxhdpi").call()
}
Si votre application dépend /raw
de l'actif aussi, la méthode décrite ci-dessous devrait vous aider:
doLast {
def moveFunc = { resSuffix ->
File originalDir = file("$buildDir/generated/res/react/release/${resSuffix}");
if (originalDir.exists()) {
File destDir = file("$buildDir/../src/main/res/${resSuffix}");
ant.move(file: originalDir, tofile: destDir);
}
}
moveFunc.curry("drawable-ldpi").call()
moveFunc.curry("drawable-mdpi").call()
moveFunc.curry("drawable-hdpi").call()
moveFunc.curry("drawable-xhdpi").call()
moveFunc.curry("drawable-xxhdpi").call()
moveFunc.curry("drawable-xxxhdpi").call()
moveFunc.curry("raw").call()
}