利用Bintary插件将arr上传到Jcenter
以下几个步骤:
- 注册bintray账号(https://bintray.com)
- 新建Android Library Moudle
- 配置Moudle的build.gradle
- 命令直接上传
注册账号 -- 略
-
新建Android Library Moudle:
首先新建一个Projece:
然后新建一个Android Library Moudle:
完毕以后如图:
接下来就是正式配置了,首先打开Project的build.gradle,在这里也就是BintaryEample/build.gralde
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-beta3'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.novoda:bintray-release:0.5.0'
}
}
添加
classpath 'com.novoda:bintray-release:0.5.0'
然后打开library的build.gradle,在这里也就是BintaryExample/bintarylib/build.gradle
apply plugin: 'com.android.library'
apply plugin: 'com.novoda.bintray-release'
添加
apply plugin: 'com.novoda.bintray-release'
这时候 Sync
如果控制台出现:
Error:Exception thrown while executing model rule: PublishingPlugin.Rules#addConfiguredPublicationsToProjectPublicationRegistry(ProjectPublicationRegistry, PublishingExtension, ProjectIdentifier)
恭喜你,配置成功~~出现上面这段错误是因为我们的
publish{}
还没配置。
敲黑板!!这里的版本号一定要注意。
当你的Project的build.gradle:
classpath 'com.android.tools.build:gradle:2.3.3'
gradle-wrapper.properties:
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
的时候,BintaryExample/build.gradle:
classpath 'com.novoda:bintray-release:0.5.0'
classpath 'com.novoda:bintray-release:0.4.0'
这两个都是可以的
但是像我用上面的:
classpath 'com.android.tools.build:gradle:3.0.0-beta3'
gradle-wrapper.properties:
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
的时候,
com.novoda:bintray-release:x.x.x只能用0.5.0以上
不然就
Unable to load class 'org.gradle.api.internal.component.Usage'.
GG了,这个问题困扰了我一早上,所以一定要注意版本号。
好了车头摆回来:
配置好以上步骤后,在BintrayExample/bintraylib/build.gralde的最后面加上以下信息:
publish {
userOrg = 'chanzeebm'
repoName='Chan'
licences=['Apache-2.0']
groupId = 'com.king'
artifactId = 'bintrayLib'
publishVersion = '0.1.0'
desc = 'this is a frame for android base'
website = 'https://github.com/chansebm/pframe'
}
- userOrg : 你在Bintray的用户名(也就是你注册完毕登陆进去以后,右上角那个)
- groupId : 你的组名
- repoName : Bintray的仓库名。
- licences : A list of license identifiers for the project,嗯对 我不会翻译。
- artifactId : 你在Bintray注册的包名(下面教)
- publishVersion : 版本号
- desc : 描述(不重要)
- website : 站名(不重要 按照github的规则写就是咯)
完了以后,打开https://bintray.com主页。
添加一个repository。
- Name对应
publish{repoName='Chan'}
Type 选择Maven
Default Licenses 选择对应
publish{licences='[Apache-2.0]'}
(如果publish里面不写licences默认就是Apache-2.0,那么这里要选择Apache-2.0)
Description 描述
Create。
添加包名
- Name 对应:
publish{artifactId='bintrayLib'}
- Version control对应:
publish{publishVersion='0.1.0'}
- Create Package
上传
打开AS,切换到Terminal:
Mac:
./gradlew clean build bintrayUpload
-PbintrayUser="chanzeebm"
-PbintrayKey="Api Key"
-PdryRun=false
Window:
.gradle clean build bintrayUpload
-PbintrayUser="chanzeebm"
-PbintrayKey="Api Key"
-PdryRun=false
- PbintrayUser : 你的用户名 也就是Bintray主页的右上角
- PbintrayKey : Api key
- PdryRun : true则只运行不上传,false则上传
以上是一句话,我为了易读性分开写,不要写一句回车一次哦!
ApiKey:
- 输入登陆密码
直接将API Key复制到
-PbintrayKey="your API Key"
最后,发布:
publish{} 里面的字段
各种GG的解决办法
以上!