日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android 项目部署,Android发布项目到JCenter

發布時間:2023/12/3 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 项目部署,Android发布项目到JCenter 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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.5

Android Studio 2.0

新建一個Android Studio Project

Application Name -> DemoForJCenter

根據 Application Name 會自動生成 Package Name 為 wang.yuchao.demoforjcenter

添加一個Android Library 類型的 Model

Model Name -> DemoForJCenterLibraryModel

Application/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.user=YOUR_BINTRAY_USERNAME

bintray.apikey=YOUR_BINTRAY_API_KEY

YOUR_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.4'

classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'

classpath "org.jfrog.buildinfo:build-info-extractor-gradle:3.1.1"

3. 打開本地要上傳的Model(即DemoForJCenterLibraryModel)下的gradle文件,添加如下代碼到最后

apply plugin: 'com.android.library'

ext {

bintrayRepo = 'maven'

bintrayName = 'DemoForJCenterName'

publishedGroupId = 'wang.yuchao.demoforjcenterlibrary'

libraryName = 'DemoForJCenterLibrary'

artifact = 'DemoForJCenterLibraryModel'

libraryDescription = 'This library is test for DemoForJCenter'

siteUrl = 'https://github.com/yuchao-wang/DemoForJCenter'

gitUrl = 'https://github.com/yuchao-wang/DemoForJCenter.git'

libraryVersion = '1.2.3'

developerId = 'wangyuchao'

developerName = 'yuchao-wang'

developerEmail = '1154786190@qq.com'

licenseName = 'The Apache Software License, Version 2.0'

licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt'

allLicenses = ["Apache-2.0"]

}

apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/installv1.gradle'

apply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/bintrayv1.gradle'

3.1 參數說明

參數

說明

publishedGroupId

Model Package Name

libraryName

Model Application/Library name(沒啥用)

artifact

Model 名

libraryVersion

Model版本號

3.2 使用說明

compile 'publishedGroupId:artifact:libraryVersion'

第四步:發布項目到Maven及JCenter

1. 執行

./gradlew install

2. 執行

gradlew bintrayUpload

到目前為止,你已經成功地把類庫文件上傳到bintray上,接下來就是同步到jcenter上了。

4. 點擊 Add to JCenter 等待JCenter審核即可。

測試一下

在等待審核的過程中,你可以先修改Project下的gradle文件進行測試。如果審核通過了以后,下面的maven節點也就可以注釋掉了。

allprojects {

repositories {

maven {

// your bintray maven address . you can find it on

url '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 ->

參考

總結

以上是生活随笔為你收集整理的android 项目部署,Android发布项目到JCenter的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。