当前位置:   article > 正文

AndroidStudio 提交工程AAR至 JCenter 及引用对应AAR_把aar提交到 jks

把aar提交到 jks

话不多说,直接进入主题 ! !!

第一步:注册

官网地址:https://bintray.com/

个人注册地址:https://bintray.com/signup/oss,为何着重强调个人地址,见下图;

第二步:创建一个Maven仓库,见下图 :::

设置仓库为Public,private需收费;Name填写为自己需要填写的名字,类型Type设置Maven,Default Licenses选择Apache-2.0,Description就是对此仓库的描述,然后点击Create ,稍等片刻 即创建成功 !!!注:此处的Name 于上传aar时需使用

 

 

第三步: 前往AndroidStudio 中进行 配置操作 

1.   在app目录下的 build中配置对应的 依赖插件

 

  1. buildscript {
  2. repositories {
  3. google()
  4. jcenter()
  5. }
  6. dependencies {
  7. classpath 'com.android.tools.build:gradle:3.0.1'
  8. //此处为对应的Maven插件
  9. classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
  10. classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
  11. }
  12. }
  13. allprojects {
  14. repositories {
  15. google()
  16. jcenter()
  17. }
  18. }
  19. task clean(type: Delete) {
  20. delete rootProject.buildDir
  21. }

2.配置对应的 user 及ApiKey

 

  1. ## This file is automatically generated by Android Studio.
  2. # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
  3. #
  4. # This file should *NOT* be checked into Version Control Systems,
  5. # as it contains information specific to your local configuration.
  6. #
  7. # Location of the SDK. This is only used by Gradle.
  8. # For customization when using a Version Control System, please read the
  9. # header note.
  10. sdk.dir=F\:\\AndroidSdk
  11. bintray.user=xxx
  12. bintray.apikey=xxx

注:bintray.user 便是 注册时候填写的用户名;

       bintray.apikey 是账户对应的 ApiKey   ,见下图   

 

 

 

3.手动在 library中 编写上传配置:

 

具体 build.gradle 代码如下:

  1. apply plugin: 'com.android.library'
  2. android {
  3. compileSdkVersion 26
  4. defaultConfig {
  5. minSdkVersion 15
  6. targetSdkVersion 26
  7. versionCode 1
  8. versionName "1.0"
  9. testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
  10. }
  11. buildTypes {
  12. release {
  13. minifyEnabled false
  14. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  15. }
  16. }
  17. }
  18. configurations.all {
  19. resolutionStrategy.force 'com.android.support:support-annotations:27.1.1'
  20. }
  21. dependencies {
  22. implementation fileTree(dir: 'libs', include: ['*.jar'])
  23. implementation 'com.android.support:appcompat-v7:26.1.0'
  24. implementation 'com.android.support.constraint:constraint-layout:1.1.2'
  25. testImplementation 'junit:junit:4.12'
  26. androidTestImplementation 'com.android.support.test:runner:1.0.2'
  27. androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
  28. }
  29. /*****************************************上传Maven 配置信息**********************************************************/
  30. apply plugin: 'com.github.dcendents.android-maven'
  31. apply plugin: 'com.jfrog.bintray'
  32. //仓库中项目对应的 github 地址 可不填
  33. def siteUrl = ' '
  34. //仓库中项目对应的 git 地址可不填
  35. def gitUrl = ' '
  36. //发布到JCenter上的项目名字
  37. //compile引用时的第2部分项目名取决你依赖工程名
  38. def libName = "MavenTestDemo"
  39. //compile引用时的第1部分
  40. group = "com.Maven"
  41. //compile引用时的第三部分
  42. version = "1.0"
  43. task sourcesJar(type: Jar) {
  44. from android.sourceSets.main.java.srcDirs
  45. classifier = 'sources'
  46. }
  47. task javadoc(type: Javadoc) {
  48. source = android.sourceSets.main.java.srcDirs
  49. classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
  50. }
  51. task javadocJar(type: Jar, dependsOn: javadoc) {
  52. classifier = 'javadoc'
  53. from javadoc.destinationDir
  54. }
  55. task copyDoc(type: Copy) {
  56. from "${buildDir}/docs/"
  57. into "docs"
  58. }
  59. artifacts {
  60. archives javadocJar
  61. archives sourcesJar
  62. }
  63. install {
  64. repositories.mavenInstaller {
  65. pom {
  66. project {
  67. packaging 'aar'
  68. //项目描述,自由填写
  69. name 'A Project For Android'
  70. url siteUrl
  71. licenses {
  72. license {
  73. //开源协议
  74. name 'The Apache Software License, Version 2.0'
  75. url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
  76. }
  77. }
  78. developers {
  79. developer {
  80. //开发者的个人信息,根据个人信息填写 xxx 填写自己个人信息
  81. id 'xxx'
  82. name 'xxx'
  83. email 'xxx@gmail.com'
  84. }
  85. }
  86. scm {
  87. connection gitUrl
  88. developerConnection gitUrl
  89. url siteUrl
  90. }
  91. }
  92. }
  93. }
  94. }
  95. //上传到JCenter
  96. Properties properties = new Properties()
  97. properties.load(project.rootProject.file('local.properties').newDataInputStream())
  98. bintray {
  99. user = properties.getProperty("bintray.user")
  100. key = properties.getProperty("bintray.apikey")
  101. configurations = ['archives']
  102. pkg {
  103. //repo 应与你创建仓库名字一致
  104. repo = "TestMaven"
  105. name = libName
  106. desc = 'A Project For Android'
  107. websiteUrl = siteUrl
  108. vcsUrl = gitUrl
  109. licenses = ["Apache-2.0"]
  110. publish = true
  111. }
  112. }
  113. javadoc {
  114. options {
  115. encoding "UTF-8"
  116. charSet 'UTF-8'
  117. author true
  118. version true
  119. links "http://docs.oracle.com/javase/7/docs/api"
  120. }
  121. }

 

4.开始提交项目,打开Terminal窗口,  gradle 若未配置请自行配置,详情请自行百度;

  <1>输入 gradlew install 回车 等待加载

       等待结果出现 BUILD SUCCESSFUL 即为成功

<2>等待第一步成功后,输入  gradlew  bintrayUpload

     等待结果出现 BUILD SUCCESSFUL 即为成功

    此时前往  bintray 官网仓库 即可查看 先前上传的 aar 文件信息 !!!

第四步:查看上传成功的aar及引用aar

  <1> 已上传工程基本信息

<2> aar的引用 :

提交JCenter 审核通过之后直接于 app目录下 build.gradle  引用下 标注图中的 2即可,具体操作如下图 :

  1. dependencies {
  2. implementation fileTree(dir: 'libs', include: ['*.jar'])
  3. implementation 'com.android.support:appcompat-v7:26.1.0'
  4. implementation 'com.android.support.constraint:constraint-layout:1.1.2'
  5. testImplementation 'junit:junit:4.12'
  6. androidTestImplementation 'com.android.support.test:runner:1.0.2'
  7. androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
  8. compile 'com.Maven:MavenTestDemo:1.0'
  9. }

 若审核中或私人使用无需提交JCenter 则于主工程 build.gradle  配置 +上图引用仓库中的aar文件。

  1. allprojects {
  2. repositories {
  3. google()
  4. jcenter()
  5. maven{
  6. url("下图 1复制即可")
  7. }
  8. }
  9. }

标注图:

 

 

总结:本文到此就结束了,操作四部曲:一注册 二建仓 三提交 四引用;希望有这方面的需要 de能更好的的使用;

          打扰了 , 告辞  ! ! !

   

 

 

 

 

 

 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/796392
推荐阅读
相关标签
  

闽ICP备14008679号