您的位置:首页 > 移动开发 > Android开发

上传android lib到jcenter库上面碰到的一些问题,以及解决办法

2017-01-06 10:55 585 查看
1.账号首先你得要有
jcenter
的账号,最简单的就是用
google
登陆了

请移步

2.接下来就是拿到你自己的
appk
appid
了,

拿到这些东西之后,放到根目录下的local.properties文件里面,具体内容如下:

This file is automatically generated by Android Studio.

Do not modify this file – YOUR CHANGES WILL BE ERASED!

sdk.dir=/Users/guoyoujin/Library/Android/sdk
bintray.user=trycatch
bintray.apikey=12345


3.接下来就是引入需要的插件了,这里我采用了最新的
gradle
配置,配置如下:

(1)根目录
build.gradle
配置

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4'
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
}
}

allprojects {
repositories {
jcenter()
mavenCentral()
}
}

task clean(type: Delete) {
delete rootProject.buildDir
}


(2)
lib
build.gradle
配置

apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
resourcePrefix "bounceprogressbar__"    //这个随便填

defaultConfig {
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.nineoldandroids:library:2.4.0+'
}


// 这个
version
是区分
library
版本的,因此当我们需要更新
library
时记得修改这个
version


// 这个
version
影响后面的引用

version = "1.0.0"
def siteUrl = 'https://github.com/guoyoujin/MySnackBar'      // 项目的主页
def gitUrl = 'https://github.com/guoyoujin/MySnackBar.git'   // Git仓库的url
group = "com.trycatch.android"                                        // Maven Group ID for the artifact,一般填你唯一的包名
install {
repositories.mavenInstaller {
// This generates POM.xml with proper parameters
pom {
project {
packaging 'aar'
// Add your description here
name 'Android SnackBar Widget'  //项目描述
url siteUrl
// Set your license
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
developers {
developer {
id 'guoyoujin'      //填写的一些基本信息
name 'TryCatch'
email 'guoyoujin123@gmail.com'
}
}
scm {
connection gitUrl
developerConnection gitUrl
url siteUrl
}
}
}
}
}
task sourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier = 'sources'
}
task javadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
artifacts {
archives javadocJar
archives sourcesJar
}
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
bintray {
user = properties.getProperty("bintray.user")
key = properties.getProperty("bintray.apikey")
configurations = ['archives']
pkg {
repo = "maven"
name = "MySnackBar" //发布到JCenter上的项目名字
websiteUrl = siteUrl
vcsUrl = gitUrl
licenses = ["Apache-2.0"]
publish = true
}
}


(3)配置
gradle
的版本:在文件
gradle/wrapper/gradle-wrapper.properties


Mon Dec 28 10:00:20 PST 2015

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip


(4)查看你的
gradle
版本,输入命令

➜  MyCustomSnackBar git:(master) ✗ gradle -v


-----------------------------------------------------------
Gradle 2.14.1
------------------------------------------------------------

Build time:   2016-07-18 06:38:37 UTC
Revision:     d9e2113d9fb05a5caabba61798bdb8dfdca83719

Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_40 (Oracle Corporation 25.40-b25)
OS:           Mac OS X 10.11.6 x86_64


可以看到我的
gradle
版本是最新的
gradle 2.14.1
而且我是用
home brew
管理的
gradle
,你也可以使用这个插件管理,他是用ruby写的

4.环境配置好了接下来就是输入命令了

gradle install  or  sudo gradle install


gradle bintrayUpload or  sudo gradle bintrayUpload


如果中间没有什么问题的话,那就应该是返回success了

5.接下来就是在
jcenter
里面点击
AddToJcenter
发出一个请求等着就行了

6.
AddToJcenter
成功之后,最后就是引用自己的
lib
库了,代码如下:

dependencies {
compile 'com.trycatch.android:mysnackbar:1.0.0'
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android