场景
AndroidStudio工程里编写一个库文件,基本上是在一个工程里建一个库,另一个是测试APP。
开发阶段基本上是本地依赖,也即测试APP直接依赖库模块。
但是当库开发完成后,就要发布了,如何发布呢?
痛点
发布库文件通常导出成jar包或者aar包传到三方平台,如maven或jcenter等。
但是麻烦就麻烦在需要打包导出等。
JitPack的便利
主要适合在开源项目上。
例如易盾的验证码SDK,本身就是开源的,技术门槛主要是在服务器端。
发布方法
一、本地配置
- 工程的buil.grade添加
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
示例:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.2'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
- 库模块的buil.grade开头添加: ```groovy apply plugin: ‘com.android.library’
apply plugin: ‘com.github.dcendents.android-maven’
group=’com.github.yidun’
其中yidun是GitHub的用户名,你的项目的话就换成你的用户名。
做好以上两点修改后,把**代码上传同步到GitHub上**。
## 二、GitHub上创建版本
代码传好后,在GitHub的【Code】页,选择“releases”进去新建版本。注意版本号要认真填写,例如可以是:v1.0
release title和描述可以简单写下releasenotes,写完后点击“Publish release”就完成了一次版本发布。其实这个时候GitHub帮你做的就是打包。
## 三、JitPack查询
打开[JitPack \| Publish JVM and Android libraries](https://jitpack.io/),输入GitHub项目地址,例如:https://github.com/yidun/captcha-android-demo
点击查询,则可以查询到发布的版本列表。
## 四、集成使用
选取一个最新的版本,点击“Get it”,下面会在“How to”里出现集成使用方法,非常简单。示例可以参考:[yidun/captcha\-android\-demo: 易盾验证码android应用嵌入演示](https://github.com/yidun/captcha-android-demo)
如果在AndroidStudio工程中集成成功,则JitPack上对应的版本Log一栏会出现绿色的图标,否则会出现红色的出错图标,可以点开查看错误信息。
# 可能出现的错误
错误示例:[https://jitpack\.io/com/github/yidun/captcha\-android\-demo/v1\.2/build\.log?building=1](https://jitpack.io/com/github/yidun/captcha-android-demo/v1.2/build.log?building=1)
WARNING: gradle/wrapper/gradle-wrapper.jar does not exist! Needs to be committed.
ERROR: Gradle wrapper not found. Please add. Using default gradle to build.
…. ….
FAILURE: Build failed with an exception.
Where: Build file ‘/home/jitpack/build/app/build.gradle’ line: 1
What went wrong: A problem occurred evaluating project ‘:app’.
Failed to apply plugin [id ‘com.android.application’] Minimum supported Gradle version is 3.3. Current version is 3.1. If using the gradle wrapper, try editing the distributionUrl in /home/jitpack/build/gradle/wrapper/gradle-wrapper.properties to gradle-3.3-all.zip
提示找不到gradle,这个错误其实我感觉是不应该,因为我在本地编译的时候只有一个:gradle\wrapper\gradle-wrapper.properties,并且文件内容指定了gradle的最新版,并不需要gradle-wrapper.jar文件。
#Thu May 04 15:15:21 CST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https://services.gradle.org/distributions/gradle-3.3-all.zip ```
解决办法
在其他工程里面找到了3.3版本的gradle-wrapper.jar文件,在库工程的gradle\wrapper\目录下,并上传同步到GitHub,再次创建一次版本,成功通过。
总结
该方法比较适合懒人,比较方便简洁,但是仅仅适合开源项目,特别是GitHub上发布的项目,其他项目貌似不太适合哦。
参考
- AndroidNote/ReleaseLibraryByJitPack.md at master · GcsSloop/AndroidNote
- yidun/captcha-android-demo: 易盾验证码android应用嵌入演示
文档信息
- 本文作者:zhupite
- 本文链接:https://zhupite.com/android/publish-sdk-by-jitpack.html
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)