我正在使用第三方依赖,它不能处理特殊用例,并且在多进程应用程序中一直崩溃。
是否有办法在打包过程中删除该文件,以便我们可以在应用程序代码中创建并放置一个与第三方相同的包名称的新固定文件?
如果我们没有从第三方依赖中删除原始文件,我们将得到在不同索引中定义的多个文件。是否有办法从外部依赖中删除原始文件或在打包期间替换文件?
我也试过用
ResolutionStrategy:这个不支持文件级的更改。
DuplicatesStrategy: Not able get enough resources to solve the requirement.
可以下载.aar
或.jar
文件,手动删除文件,然后重新打包。但是我很期待知道是否有任何直接的解决方案,gradle或任何其他工具支持这种情况。
使用gradle约束可能是答案:https://docs.gradle.org/current/userguide/dependency_constraints.html#sec:adding-constraints-transitive-deps
然后,您可以在mavenLocal
,您自己的私有Nexus repo或libs
目录中拥有库的固定版本,并在约束中指定固定版本的版本号。
对我来说,最好的解决方案是修改问题库。
步骤:
-
克隆库
-
在你的应用中使用like local模块。
-
保留包名并修复错误。
问题解决了!