项目真机打包安卓端的过程中遇到了如下异常提示:

Error: Duplicate resources

简单看了下控制台中的提示信息,某些资源文件重复,首先尝试了手动删除的方式,但再次尝试打包依然未能成功,后使用如下方式顺利成功,具体操作如下:

 

解决办法

首先,锁定项目工程目录下 node_modules -> react-native -> react.gradle 文件;
其次,在该类的 doFirst 代码块后添加如下 code 代码块:

            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()
            }

最后,再次尝试打包即可。


以上便是此次分享的全部内容,希望能对大家有所帮助!

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐