做网页到哪个网站找素材,北京朝阳客户端,大学生ppt自我介绍幻灯片,新网站如何推广JCenter是什么大家应该都用过各种各样的Github上的第三方开源组件。类似这种效果的compile wang.yuchao.demoforjcenterlibrary:DemoForJCenterLibraryModel:1.2.5我们会比较好奇Android Studio 是从哪里得到这个类库的#xff1f;Android Studio是从build.gradle里面定义的Ma…JCenter是什么大家应该都用过各种各样的Github上的第三方开源组件。类似这种效果的compile wang.yuchao.demoforjcenterlibrary:DemoForJCenterLibraryModel:1.2.5我们会比较好奇Android Studio 是从哪里得到这个类库的Android Studio是从build.gradle里面定义的Maven仓库服务器上下载library的。Apache Maven是Apache开发的一个工具提供了用于贡献library的文件服务器。但是由于maven仓库对开发人员不友好(原因在此)因此Android Studio 团队把默认仓库换成了JCenter。JCenter是一个由bintray.com维护的Maven仓库。我们在项目的build.gradle 文件中如下定义仓库就能使用jcenter了。allprojects {repositories {//mavenCentral()jcenter()}}为了更好的描述他们之间的关系以及怎么发布一个项目到JCenter上我下面用一个例子进行演示一下。演示发布项目到JCenter第一步准备工作前言本机环境MAC OS 10.10.5Android Studio 2.0新建一个Android Studio ProjectApplication Name - DemoForJCenter根据 Application Name 会自动生成 Package Name 为 wang.yuchao.demoforjcenter添加一个Android Library 类型的 ModelModel Name - DemoForJCenterLibraryModelApplication/Library name - DemoForJCenterLibrary根据 Application/Library name 可以自动生成 Model Package Name 为 wang.yuchao.demoforjcenterlibrary我们在此 Model 下面新建一个类 ToastUtil.java 用来测试package wang.yuchao.demoforjcenterlibrary;import android.content.Context;import android.widget.Toast;public class ToastUtil {public static void show(Context context, String message) {Toast.makeText(context, DemoForJCenterLibrary message, Toast.LENGTH_SHORT).show();}}第二步网站配置Push 工程到 Github方式一点击 maven - Import GitHub repositories 即可把Github的项目导入。(导入后Bintray生成的项目名默认是Github的项目名)方式二点击 maven - Add New Package 后根据提示写入各种信息后Create Package。(Version control 是必填项)注意为了详细的演示与讲解我们使用上述方式二进行配置并且为了区分Bintray上的Name跟Github默认的项目名Bintray Name我们设置的不是Github默认的DemoForJCenter而使用的是 DemoForJCenterName 。如下图。(但是建议设置为Github默认的)截图第三步本地配置1. 打开本地Project的local.properties最后添加bintray.userYOUR_BINTRAY_USERNAMEbintray.apikeyYOUR_BINTRAY_API_KEYYOUR_BINTRAY_USERNAME是你在 https://bintray.com/ 的用户名YOUR_BINTRAY_API_KEY是你在 https://bintray.com/ 的API_KEY(点击右上角用户名-your profile-edit -Api Key)2. 打开本地Project的gradel文件dependencies节点下添加一些插件classpath com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4classpath com.github.dcendents:android-maven-gradle-plugin:1.3classpath org.jfrog.buildinfo:build-info-extractor-gradle:3.1.13. 打开本地要上传的Model(即DemoForJCenterLibraryModel)下的gradle文件添加如下代码到最后apply plugin: com.android.libraryext {bintrayRepo mavenbintrayName DemoForJCenterNamepublishedGroupId wang.yuchao.demoforjcenterlibrarylibraryName DemoForJCenterLibraryartifact DemoForJCenterLibraryModellibraryDescription This library is test for DemoForJCentersiteUrl https://github.com/yuchao-wang/DemoForJCentergitUrl https://github.com/yuchao-wang/DemoForJCenter.gitlibraryVersion 1.2.3developerId wangyuchaodeveloperName yuchao-wangdeveloperEmail 1154786190qq.comlicenseName The Apache Software License, Version 2.0licenseUrl http://www.apache.org/licenses/LICENSE-2.0.txtallLicenses [Apache-2.0]}apply from: https://raw.githubusercontent.com/nuuneoi/JCenter/master/installv1.gradleapply from: https://raw.githubusercontent.com/nuuneoi/JCenter/master/bintrayv1.gradle3.1 参数说明参数说明publishedGroupIdModel Package NamelibraryNameModel Application/Library name(没啥用)artifactModel 名libraryVersionModel版本号3.2 使用说明compile publishedGroupId:artifact:libraryVersion第四步发布项目到Maven及JCenter1. 执行./gradlew install2. 执行gradlew bintrayUpload到目前为止你已经成功地把类库文件上传到bintray上接下来就是同步到jcenter上了。4. 点击 Add to JCenter 等待JCenter审核即可。测试一下在等待审核的过程中你可以先修改Project下的gradle文件进行测试。如果审核通过了以后下面的maven节点也就可以注释掉了。allprojects {repositories {maven {// your bintray maven address . you can find it onurl https://dl.bintray.com/yuchao-wang/maven}jcenter()}}app model 下的gradle文件引入compile wang.yuchao.demoforjcenterlibrary:DemoForJCenterLibraryModel:1.2.3番外篇1. 踩过的坑如果上传的过程中出现Could not upload to https://xxxxxxx.pom: HTTP/1.1 400 Bad Request [message:Unable to upload files: Maven group, artifact or version defined in the pom file do not match the file path xxxxxxx.pom]是因为module的名字和Model下gradle文件配置的artifact不一致导致的2. 删除JCenter项目Edit Your Profile - Repositories -参考