Android Studio发布library到jCenter(问题集合)

烦心简单的事情折腾一天了,现在将碰到的问题集中写下,方便以后查询
试过两种方法

下面说下碰到的问题


1.Error:Execution failed for task ‘:viewpagerutilslib-v1:bintrayUpload’.> Could not create package> ‘xxxxx/maven/xxxxxxxxx’: HTTP/1.1 401 Unauthorized

401 这个错误很明显是认证错误,可能是你的用户名或者API key错了


2.Error:Execution failed for task ‘:viewpagerutilslib-v1:bintrayUpload’.> Could not create package> ‘xxxxxx/maven/xxxxx’: HTTP/1.1 404 Not Found

这个404问题比较坑爹,卡在这里绝大部分时间首先你在上传library到bintray之前,你需要先在bintrary new一个仓库名称和type都应该是maven
这里写图片描述
其次:新建maven项目后从网址能看到你的用户名,比如我的https://bintray.com/huyuxin95/maven,
与userOrg = ‘huyuxin95’对应,但是userOrg不一定与登录用户名-PbintrayUser=***一样!)
这里写图片描述


3.androidstudio mavenAndroidJavadocs FAILED GBK编码不可映射

这是因为你的注释有中文,在项目的build.gradle中添加:

1
2
3
4
5
6
7
8
9
 allprojects {
tasks.withType(Javadoc) {
options{
encoding "UTF-8"
charSet 'UTF-8'
links "http://docs.oracle.com/javase/7/docs/api"
}
}
}

4.批处理macOS与windows的区别
macos:

1
2
3
4
./gradlew clean build bintrayUpload 
-PbintrayUser=hyman
-PbintrayKey=xxxxxxxxxxxxxxxxxxxxxx
-PdryRun=false

windows

1
2
3
4
gradlew.bat clean build bintrayUpload 
-PbintrayUser=huyuxin
-PbintrayKey=32d8bc328c5131d7c76f5205333f2df5d2744632
-PdryRun=false

如果你的windows还没安装gradlew.bat,他会帮你先下载,大概70M,但是如果网络差你可以将提示的下载地址复制到浏览器或者迅雷用第三方下载工具下载,这样快点,手动下载完复制到C:\Users\username\.gradle\wrapper\dists\gradle-指定版本-all\随机字符的文件夹下重启AS,再运行

1
2
3
4
gradlew.bat clean build bintrayUpload 
-PbintrayUser=huyuxin
-PbintrayKey=32d8bc328c5131d7c76f5205333f2df5d2744632
-PdryRun=false

他解压好压缩包就可以了


5.提示这样的错误

1
2
3
4
5
6
7
8
9
10
11
12
13
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:lint'.
> Lint found errors in the project; aborting build.

Fix the issues identified by lint, or add the following to your build script to proceed with errors:
...
android {
lintOptions {
abortOnError false
}
}

直接在library的build.gradle的android下 添加即可
如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"

defaultConfig {
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

}
lintOptions{
abortOnError false
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
您的一份奖励,就是我的一份激励