JCenter 是管理包的地方,可以很方便的使用 Gradle 引用到 JCenter 里面的包,极大的方便了 Android 开发。
想引用 EventBus,一句话搞定:
compile 'org.greenrobot:eventbus:3.0.0'
现在来介绍下怎么把你的 Library 上传到 JCenter,大致的步骤是:
最近管得严,科学上网也不容易,文章末尾提供了博主科学上网方式。
进入bintray 官网,点击 Sign Up Here
进入注册页面。
注册页面填写的邮箱一定要用 GMAIL
注册成功后,登录到主页面。
在主页面点击 Add New Repository
添加一个 maven 仓库
填写仓库信息
填写完信息以后点 Create
按钮,仓库创建完成。
点击刚添加的仓库进入仓库详情页面,点击 Add New Package
添加包
填写包信息
点 Create Package
创建完成。
上图标识获取你的 API KEY,这个在配置 Gradle 的时候用得着。
使用人家写好的 Gradle 脚本,只需要添加一点配置就可以了。Github 项目地址 点这里
打开 Android 工程,找到 Project 的 build.gradle 文件:
加上两段代码
classpath 'com.novoda:bintray-release:0.8.0'
tasks.withType(Javadoc) {
options{
encoding "UTF-8"
charSet 'UTF-8'
links "http://docs.oracle.com/javase/7/docs/api"
}
options.addStringOption('Xdoclint:none', '-quiet')
}
第二段代码可以避免 Javadoc 失败。
在 Library 的 build.gradle 文件中添加如下代码,可以防止代码检查出异常。
android {
lintOptions {
abortOnError false
}
}
接下来配置上传 Library 信息:
publish {
userOrg = "niulinguo"
repoName = "maven"
groupId = 'com.niles.test'
artifactId = 'ttsdk'
publishVersion = '1.0.2'
desc = 'this is a desc'
website = 'https://github.com/linglongxin24/SQLite.git'
}
注意配置的信息要和刚刚在官网上填写的信息一致。
按照上面的去配置,最后使用 Gradle 引用为:
compile 'com.niles.test:ttsdk:1.0.2'
配置完成后,最后只需要执行一段 Gradle 命令
$ ./gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false
其中 BINTRAY_USERNAME
就是用户名,BINTRAY_KEY
就是 API KEY。
等待2分钟左右就可以上传成功,中间可能有很多坑,我会在文章最后总结。
回到网页,打开刚刚创建的项目,这时会发现刚上传的 Library 已经在里面了。
提交审核页面如下图
填写 Comments 信息,点击 Send
提交审核。大概一天以后可以收到审核结果信息。
第二天:
进入官网 ,你将收到一条信息:
通过审核了有木有,比上架 iOS 容易一百倍有木有~
审核成功之后,想引用你的 Library,只需要一句话
compile 'com.niles.test:ttsdk:1.0.2'
非常炫酷!!!
A:
不会科学上网的 Android 开发只能是个好码农。不会科学上网,你就不能获取一手的学习资料,不能解决冷门的 BUG,不能升职加薪,不能赢取白富美,只能当个好码农。想要科学上网,加他微信 hemage99
咨询,299一年,好贵的说。
A:
1. 检查你的 userOrg
、repoName
、groupId
、artifactId
配置是否正确。
2. 检查 gradle.properties
是否配置了代理服务器信息,注释掉。
3. 重启电脑。
A:
需要将 Library 的 build.gradle 中修改 minifyEnabled
属性:
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
不想混淆的代码可以使用 Android 注解 android.support.annotation.Keep
@Keep
public static boolean isServiceBond() {
return sTicService != null;
}
A:
需要技术支持的朋友可以加我微信哦 niulinguo12138
。
注:我使用的环境是 MacOS,对 Windows 系统不熟哦。