Android建立远程动态库,提交到Jcenter

    xiaoxiao2021-03-25  98

    用Android Studio的人都知道build中默认远程库地址就是JCenter,所以我们有时开发的开源项目也可提交至JCenter然后直接compile即可。Jcenter是Bintray旗下的库之一,所以先要提交到bintray,然后同步到jcenter。

    一、注册bintray帐号,获取userName、ApiKey:

    注册地址:https://bintray.com,已有帐号可忽略。 然后拿到帐号的ApiKey

    二、新建Module:

    在项目中新建module: 选择android library: 我在module中新建了一个Util作为测试: /** * Created by wangcong on 2017/3/8. * <p> */ public class LibUtil { public static void toast(Context context) { Toast.makeText(context, "LibDemo", Toast.LENGTH_SHORT).show(); } }

    三、配置local.properties:

    在local.properties中配置user及apikey: bintray.user=YourUserName bintray.apikey=YourApiKey

    四、配置build.gradle:

    在project中添加bintray及github插件: dependencies { classpath 'com.android.tools.build:gradle:2.2.2' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } 在library中添加配置: apply plugin: 'com.android.library' //配置插件 apply plugin: 'com.github.dcendents.android-maven' apply plugin: 'com.jfrog.bintray' version = "v1.0.1" //lib版本号 android { compileSdkVersion 25 buildToolsVersion "25.0.0" defaultConfig { minSdkVersion 15 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.0.1' testCompile 'junit:junit:4.12' } def siteUrl = 'https://github.com/Yuhoon' // 项目主页 def gitUrl = 'https://github.com/Yuhoon' // Git仓库的地址 group = "com.yuhoon.demo" // GroupId ,一般为包名(必填) install { repositories.mavenInstaller { // This generates POM.xml with proper parameters pom { project { packaging 'aar' // Add your description here name 'This is util' //项目描述 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 'yuhoon' name 'wangcong' email 'c664543330@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 = "lib" //发布到JCenter上的库(必填) websiteUrl = siteUrl vcsUrl = gitUrl licenses = ["Apache-2.0"] publish = true } } 配置完成后,sync project下

    五、本地库编译及上传:

    打开Terminal,输入 gradlew install 进行安装编译: 如果build successful,更新编译成功可以上传了,上传命令为:gradlew bintaryUpload 一样如果successful上传成功了,就可在自己的maven中查看了。

    六、提交到Jcenter:

    上传成功后,打开bintray网站就可以在maven中看到自己多了个package 选择项目,添加到Jcenter ,点击Add to jCenter,然后填写msg: 审核一般当天就可以通过,审核通过会发送到绑定邮箱,小伙伴注意查收。审核通过就可以用自己的远端的库了。

    七、远程库的使用:

    审核通过后在build.gradle中添加: compile 'com.yuhoon.demo:library:v1.0.1' 组合为你之前申请的 groupId+项目名+版本号,同时你也 可以在你的bintray上查到你的库引用地址 添加关联后就可以调用库中的方法了: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); LibUtil.toast(this); } 以后的版本更新也是同样操作,更改版本号上传即可,审核会在几小时后通过。
    转载请注明原文地址: https://ju.6miu.com/read-10104.html

    最新回复(0)