React native 通过创建apk:gradle mergeDexRelease来应对本机问题

React native 通过创建apk:gradle mergeDexRelease来应对本机问题,react-native,gradle,React Native,Gradle,我的应用程序在react native run android和gradlew clean上运行良好,为我提供构建成功的机会 我曾经使用gradlew assembleerelease检查并创建apk 最近,我在尝试创建APK时遇到了一个错误,我找不到正确的解决方案 据我所知,build.gradle或任何gradle设置都存在一些问题——我最后一次使用的功能是mauron背景地理定位(我不确定这是否导致了问题) 我试过: 关于gradle.properties: 在build.gradle中

我的应用程序在
react native run android
gradlew clean
上运行良好,为我提供构建成功的机会

我曾经使用
gradlew assembleerelease
检查并创建apk

最近,我在尝试创建APK时遇到了一个错误,我找不到正确的解决方案

据我所知,build.gradle或任何gradle设置都存在一些问题——我最后一次使用的功能是mauron背景地理定位(我不确定这是否导致了问题)

我试过:

  • 关于gradle.properties:
  • 在build.gradle中,我在依赖项中添加了:
    implementation'androidx.multidex:multidex:2.0.1'

    三,

    我用的梯度是6.3。所以我升级了(从他们的网站v7下载,但我认为该项目仍然低于6.3)

    我的问题是:

    如果应用程序正常运行并成功构建,是因为我的代码或渐变设置导致的错误吗?

    我有一个多星期的问题,不知道如何让它工作

    我得到的错误是:

    > Task :app:mergeDexRelease FAILED
    D8: Program type already present: org.apache.commons.io.Charsets
    com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
    Program type already present: org.apache.commons.io.Charsets
    
    全图:


    有人能帮我吗?

    错误与多重索引无关。它清楚地表明,您的一个包正在尝试添加一个已经存在的库

    因为您有库的名称,所以可以将条件实现放在build.gradle中,以避免冗余实现

    比如说

    实现('包含模块的新包'){ 排除模块:“要排除的模块”
    }

    错误与多重索引无关。它清楚地表明,您的一个包正在尝试添加一个已经存在的库

    因为您有库的名称,所以可以将条件实现放在build.gradle中,以避免冗余实现

    比如说

    实现('包含模块的新包'){ 排除模块:“要排除的模块”
    }

    我终于解决了这个问题,感谢Shashank Shekhar指导我找到正确的问题

    我使用mauron85/react本地背景地理定位软件包,在我尝试创建apk之前,它一直工作正常

    在mauron85发行的#505中也有类似的问题,有人通过分叉和维持回购协议来解决


    如果将来有人遇到这个问题,我建议使用@darron1217/react native background geolocation,因为它解决了这个错误。

    最后我解决了这个问题,感谢Shashank Shekhar指导我找到了正确的问题

    我使用mauron85/react本地背景地理定位软件包,在我尝试创建apk之前,它一直工作正常

    在mauron85发行的#505中也有类似的问题,有人通过分叉和维持回购协议来解决


    如果将来有人会遇到这个问题,我建议使用@darron1217/react native background geolocation,因为它解决了这个错误。

    我删除了这个后台包,似乎可以正常工作。可能是设置中的某些内容导致了重复。我删除了该后台软件包,似乎可以正常工作。可能是设置中的某些内容导致了重复
     defaultConfig {
            ...
            multiDexEnabled true
        }
        dexOptions {
            incremental true
            javaMaxHeapSize "4g"
            // multiDexEnabled true
        }
    
    > Task :app:mergeDexRelease FAILED
    D8: Program type already present: org.apache.commons.io.Charsets
    com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
    Program type already present: org.apache.commons.io.Charsets