如何使用具有本地更改的外部库?
How to use external library with local changes?
使用外部库但进行自定义更改的最佳方法是什么?例如,我正在使用表情符号库,但我想更改一些表情符号加载代码以每行加载 8 个表情符号而不是 10 个。此更改只会影响 1 个文件和最少的代码。我曾尝试使用构建器方法提交拉取请求,该方法会设置每行的表情符号数量,但被拒绝了。我可以使用我的自定义更改将库编译为 aar,并将其导入到我的项目中,但原始库的变化非常快。我怎样才能坚持我的自定义更改并轻松跟上源存储库的步伐?
我目前的流程是:
Rebase changes>Compile AAR>Import AAR>Discover errors>Reset custom branch to Master>重新创建更改>Compile AAR>Works correctly!
通常情况下,当 Master 更改时,我必须将我的分支重置为 master 并重新创建更改,这有点耗时。
我建议您维护一个库的分支(我假设它在 Github - 分支很容易与上游保持同步)然后使用 Jitpack.
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
然后,导入标签(或提交哈希):
dependencies {
compile 'com.github.User:Repo:Tag'
}
使用外部库但进行自定义更改的最佳方法是什么?例如,我正在使用表情符号库,但我想更改一些表情符号加载代码以每行加载 8 个表情符号而不是 10 个。此更改只会影响 1 个文件和最少的代码。我曾尝试使用构建器方法提交拉取请求,该方法会设置每行的表情符号数量,但被拒绝了。我可以使用我的自定义更改将库编译为 aar,并将其导入到我的项目中,但原始库的变化非常快。我怎样才能坚持我的自定义更改并轻松跟上源存储库的步伐?
我目前的流程是: Rebase changes>Compile AAR>Import AAR>Discover errors>Reset custom branch to Master>重新创建更改>Compile AAR>Works correctly!
通常情况下,当 Master 更改时,我必须将我的分支重置为 master 并重新创建更改,这有点耗时。
我建议您维护一个库的分支(我假设它在 Github - 分支很容易与上游保持同步)然后使用 Jitpack.
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
然后,导入标签(或提交哈希):
dependencies {
compile 'com.github.User:Repo:Tag'
}