Android建立远程动态库,提交到Jcenter
来源:互联网 发布:佛山网络推广方法 编辑:程序博客网 时间:2024/05/19 02:39
用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=YourUserNamebintray.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上查到你的库引用地址添加关联后就可以调用库中的方法了:
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); LibUtil.toast(this);}
以后的版本更新也是同样操作,更改版本号上传即可,审核会在几小时后通过。 0 0
- Android建立远程动态库,提交到Jcenter
- Android提交library到Jcenter
- 提交Android library 到jcenter
- Android Studio提交库至Bintray jCenter
- Android Studio提交库至Bintray jCenter从入门到放弃
- Android提交library(aar)到JCenter和MavenCentral经验总结
- 提交到远程库
- 在Android Studio中添加jcenter远程库
- Android library上传到jcenter
- Android Studio发布到Jcenter
- Android发布项目到JCenter
- Android共享Library到JCenter
- Android 发布项目到jcenter
- Android 发布Library到Jcenter
- 上传 Android library 到 Jcenter
- Android 上传library到jcenter
- 使用Android Studio将开源库发布到Jcenter中央库
- [Android]发布自己的项目库到jcenter
- iBET Live Casinos Rebate 0.75% Bonus
- Install Oracle 11G Release 2 (11.2) on Oracle Linux 7 (OEL7),备忘
- 编译脚本linux shell脚本写法和一般使用方法
- oracle中查询多情况并存的情况
- Spark学习笔记(五)
- Android建立远程动态库,提交到Jcenter
- 【嵌入式Linux学习七步曲之第五篇 Linux内核及驱动编程】揭开Linux Proc文件系统的神秘面纱
- 为什么匿名内部类参数必须为final类型
- Java反射机制详解
- Python习题:Python 判断是不是等差数列,要求算法时间复杂度为O(NlogN)
- 突发性 java.lang.NoClassDefFoundError
- webview加载html标签有图片时,让图片自适应屏幕
- 9 Python迭代_for
- Socket编程