我正在研究一个rect-native项目,我正在尝试将自定义组件添加到已经存在的库中。我想把我自己的组件添加到这个库中。我不想在原来的项目上创建一个分支,因为我的组件将有不同的库,我认为这将更难维护一个分支。
所以我试图导入项目作为gradle依赖于我自己的项目导入原始类AbstractMapFeature
和扩展其功能来创建我自己的类。我是gradle的新手,我甚至不知道这是否可能。
但如果是,我如何导入项目?
I tried through jipack:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.rnmapbox:maps:+'
}
但是得到一个错误,指出它找不到项目。从这里可以看到,这个项目没有编译成jitpack。
我还尝试将其安装为节点依赖并从那里导入到本地:
maven {
url "$rootDir/node_modules/@react-native-mapbox-gl/maps/android"
}
但是我不知道如何将它导入到我的代码中。import com.mapbox.rctmgl.components.mapview.RCTMGLMapView
这是他们使用的相同的import语句,但得到一个错误,说它找不到rctmgl
。
我有两个问题。真的有可能导入原始项目的代码并自行使用吗?如果是,我该怎么做?
Jitpack不能在任何Github repo上成功工作。如果您查看该库的说明,就会发现该库有一个名为MapLibre的特定开源分支,这正是您需要的(假设这是一个Android项目,因为我没有看到任何特定于Java/kotlin的内容)。该库在mavenCentral()
上发布,因此您不需要Jitpack。您应该将库指定为
implementation 'org.maplibre.gl:android-sdk:9.4.0'
如果你只是在库中创建一个类的子类,那只是库的正常用法。如果您需要实际交换库中的代码,则必须fork它。如果您正在对其进行分叉,则上述任何一项都不适用。你需要创建一个分叉的repo,进行修改,构建它,并在你的项目中使用从你的分叉生成的版本作为依赖。