通过gradle上传android library到jcenter

教程:http://blog.csdn.net/u013308121/article/details/46360703#plain


有些需要注意的地方

其中之一就是上一篇文章,不要把需要上传的library取名为library

传送门:Android上传开源库到jcenter的一些经验教训

1.如果报错如下:

No value has been specified for property ‘packageName’.

// load properties Properties properties = new Properties() File localPropertiesFile = project.file("local.properties"); if(localPropertiesFile.exists()){ properties.load(localPropertiesFile.newDataInputStream()) } File projectPropertiesFile = project.file("project.properties"); if(projectPropertiesFile.exists()){ properties.load(projectPropertiesFile.newDataInputStream()) }

修改为

// load properties Properties properties = new Properties() File localPropertiesFile = project.rootProject.file("local.properties"); if(localPropertiesFile.exists()){ properties.load(localPropertiesFile.newDataInputStream()) } File projectPropertiesFile = project.rootProject.file("project.properties"); if(projectPropertiesFile.exists()){ properties.load(projectPropertiesFile.newDataInputStream()) }

请确保local.properties和project.properties都在根目录下。

前一种写法为读取当前文件夹下的local.properties,需要把local.properties放到library下,这样做的话就会报错如上,如果不这么做就会提示user和apikey找不到。


2.如果报错如下:

Error:(2 0) Cause: org/gradle/api/publication/maven/internal/DefaultMavenFactory

建议修改gradle版本和修改classpath com.android.tools.build:gradle:1.2.3‘版本试试,至今不知道这是什么错误。