我正在使用maven存储库:
https://github.com/CyberAgent/android-gpuimage
依赖关系是:
compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.2.3'
我需要修复他们的源代码中的错误。但是当我打开课程时,该方法是预编译的代码,我无法改变它。
public void onInitialized() { /* compiled code */ }
你知道我如何在本地对它进行更改(即使我必须将依赖关系指向我的计算机上的路径就好了,但我该怎么做呢?
更新
当我在Android Studio中打开它时,这是github项目文件夹结构。有一个库文件夹,我想变成一个aar。
答案 0 :(得分:1)
由于源代码可用,因此无需过多使用。
如果您无法通过扩展课程来解决您的问题,则可以克隆该项目:
git clone https://github.com/CyberAgent/android-gpuimage.git
然后将gradle.properties
中的版本更改为 1.2.3-agressorpatch1 (作为示例),以区分工件与原始工件。然后更改要更改的源并编译项目:
gradle clean assemble
该项目获得了apache许可,因此完全可以。
创建的jar需要最终在maven存储库中。将它本地复制到〜/ .m2 / repository(或maven repo所在的位置)或保持相同结构的文件夹。
file:///sharedfolder/jp/co/cyberagent/android/gpuimage/gpuimage-library/1.2.3-agressorpatch1/gpuimage-library-1.2.3-agressorpatch1.aar
您发布的链接是源存储库,而不是maven存储库。
所以你需要告诉你的构建也使用这个位置。我对gradle不好,但看起来会像:
repositories {
maven {
url "file:///sharedfolder"
}
}
这可以节省您手动反编译类并重新打包工件等等。