<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Android Studio發布項目到jcenter,一行代碼引入Module

      前面我們使用自己封裝的okhttp項目時候,只需要app/build.gradle文件中加一行代碼就能使用項目。

      compile 'com.ansen.http:okhttpencapsulation:1.0.1'
      

      那是因為我之前就把封裝的module提交到了jcenter服務器。所以android sutdio把從jcenter服務器把類庫下載下來。

      提交項目到jcenter

      當我們做好一個輪子的時候,或者項目中有一些好的module想分享給別人用的時候,首先把代碼提交到github(全球男性交友平臺)上開源,但是這還不夠,別人拿你的代碼作為module依賴太麻煩了,比較酷的方法應該是一行代碼引用。

      首先我們得有一個jcenter賬號

      這個網站注冊有點坑爹,有兩種方式(企業版跟個人免費版),個人版的項目必須要開源,個人注冊地址如下:

      https://bintray.com/signup/oss
      

      一定要注意不要注冊了企業版,沒法直接切換成個人版,必須要得試用期過重新注冊。用我貼的鏈接注冊就行。還有注冊郵箱不能是國內163郵箱或者qq郵箱,我用的是google郵箱注冊的。

      上傳項目到jcenter

      jcenter上創建Repository

      登錄jcenter賬號,進入用戶首頁,點擊Add New Repository按鈕。
      jcenter_main

      進入Add New Repository頁面,Name輸入框輸入module名稱(okhttpencapsulation),Type選擇Maven。然后點擊最后的Create按鈕,Repository就創建成功了。
      create_repository

      Android Studio中添加代碼

      項目的build.gradle中加入如下代碼:

      classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
      classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4'
      

      修改后效果圖如下:
      project_build

      修改要上傳的module下的build.gradle。例如我這邊路徑是:OkHttpEncapsulation/okhttpencapsulation/build.gradle。在文件尾部增加如下代碼:

      // 這里添加下面兩行代碼。
      apply plugin: 'com.github.dcendents.android-maven'
      apply plugin: 'com.jfrog.bintray'
      
      // 定義兩個鏈接,下面會用到。
      def siteUrl = 'https://github.com/ansen666/OkHttpEncapsulation' // 項目主頁。
      def gitUrl = 'https://github.com/ansen666/OkHttpEncapsulation.git' // Git倉庫的url。
      
      group = "com.ansen.http"http:// 唯一包名,比如compile 'com.ansen.http:okhttpencapsulation:1.0.1'中的com.ansen.http就是這里配置的。
      version = "1.0.1"http://項目引用的版本號,比如compile 'com.ansen.http:okhttpencapsulation:1.0.1'中的1.0.1就是這里配置的。
      
      install {
          repositories.mavenInstaller {
              // 生成pom.xml和參數
              pom {
                  project {
                      packaging 'aar'
                      // 項目描述,復制我的話,這里需要修改。
                      name 'okhttpencapsulation'// 可選,項目名稱。
                      description 'okhttp project describe'// 可選,項目描述。
                      url siteUrl // 項目主頁,這里是引用上面定義好。
      
                      // 軟件開源協議,現在一般都是Apache License2.0吧,復制我的,這里不需要修改。
                      licenses {
                          license {
                              name 'The Apache Software License, Version 2.0'
                              url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                          }
                      }
      
                      //填寫開發者基本信息,復制我的,這里需要修改。
                      developers {
                          developer {
                              id 'ansen' // 開發者的id。
                              name 'ansen' // 開發者名字。
                              email 'iprivateworkemail@gmail.com' // 開發者郵箱。
                          }
                      }
      
                      // SCM,復制我的,這里不需要修改。
                      scm {
                          connection gitUrl // Git倉庫地址。
                          developerConnection gitUrl // Git倉庫地址。
                          url siteUrl // 項目主頁。
                      }
                  }
              }
          }
      }
      
      // 生成jar包的task,不需要修改。
      task sourcesJar(type: Jar) {
          from android.sourceSets.main.java.srcDirs
          classifier = 'sources'
      }
      
      // 生成jarDoc的task,不需要修改。
      task javadoc(type: Javadoc) {
          source = android.sourceSets.main.java.srcDirs
          classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
          // destinationDir = file("../javadoc/")
          failOnError false // 忽略注釋語法錯誤,如果用jdk1.8你的注釋寫的不規范就編譯不過。
      }
      
      // 生成javaDoc的jar,不需要修改。
      task javadocJar(type: Jar, dependsOn: javadoc) {
          classifier = 'javadoc'
          from javadoc.destinationDir
      }
      artifacts {
          archives javadocJar
          archives sourcesJar
      }
      
      // 這里是讀取Bintray相關的信息,我們上傳項目到github上的時候會把gradle文件傳上去,所以不要把帳號密碼的信息直接寫在這里,寫在local.properties中,這里動態讀取。
      Properties properties = new Properties()
      properties.load(project.rootProject.file('local.properties').newDataInputStream())
      bintray {
          user = properties.getProperty("bintray.user") // Bintray的用戶名。
          key = properties.getProperty("bintray.apikey") // Bintray剛才保存的ApiKey。
      
          configurations = ['archives']
          pkg {
              repo = "okhttpencapsulation"  //Repository名字 需要自己在bintray網站上先添加
              name = "okhttpencapsulation"http:// 發布到Bintray上的項目名字,這里的名字不是compile 'com.ansen.library:circleimage:1.0.1'中的circleimage。
              userOrg = 'anhui'//Bintray的組織id
              websiteUrl = siteUrl
              vcsUrl = gitUrl
              licenses = ["Apache-2.0"]
              publish = true // 是否是公開項目。
          }
      }
      

      都有注釋,當有時候的時候直接復制代碼就行。然后修改一些值。在最后的bintray里面有從local.properties文件中獲取用戶名跟apikey。這是保密信息,我們不能暴露給別人,build.gradle文件我們會提交到git服務器上,但是local.properties文件不會提交。

      打開OkHttpEncapsulation/local.properties文件,在尾部添加兩行,這個key是我隨便修改過的,是個錯誤的key,需要自己去替換:

      bintray.user=anhui
      bintray.apikey=ac8137c9138a8b49a18a323260041fcf1f75a6f
      

      user是我們注冊的名字,apikey需要去jcenter官網查看。進入修改用戶界面,點擊左側apikey按鈕,然后輸入密碼就能看到了。把這個key復制到local.properties中替換掉。
      apikey

      gradle命令上傳

      上傳項目到jcenter需要用到gradle命令,首先把gralde加入到環境變量。mac下加入環境變量教程,windows環境不會加入環境變量的自行搜索下:

      http://blog.csdn.net/u013424496/article/details/52684213
      

      在android studio底部有個Terminal的按鈕。點擊它進入Terminal界面。
      terminal

      輸入命令:

      gradle install
      

      出現BUILD SUCCESSFUL就表示成功了。

      繼續輸入命令,提交項目到bintray:

      gradle clean build bintrayUpload
      

      這個命令會提示上傳進度,上傳到100%就成功了最后也會出現BUILD SUCCESSFUL。到了這一步你的進度條已經到了90%了,就差最后一步了。

      Add to JCenter

      我們提交成功了之后呢趕緊打開jcenter官網看看有沒有成功。在首頁點擊我們的package(okhttpencapsulation)名稱,在這個頁面應該就能看到我們提交的項目了,點擊項目進入項目詳細頁。
      project_main
      我們可以看到版本,看到gradle在線引用的代碼,還能切換到Maven跟lvy方式。然后右邊有個Add to JCenter,每個項目剛剛提交都必須要審核的,所以我們點擊Add to JCenter去進行審核。審核成功就能一行代碼引用這個module啦。

      源碼下載

      如果你想第一時間看我的后期文章,掃碼關注公眾號,每周不定期推送Android開發實戰教程文章...

            Android開發666 - 安卓開發技術分享
                   掃描二維碼加關注
      

      Android開發666

      posted @ 2017-09-08 17:41  安輝  閱讀(2940)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产精品内射在线免费看| 日本免费人成视频在线观看| 久99久热只有精品国产99| 精品久久人人妻人人做精品| 无码人妻斩一区二区三区| 人妻体内射精一区二区三区| 国产精品久久久久久久9999| 亚洲日韩AV秘 无码一区二区| 少妇伦子伦精品无吗| 亚洲精品中文综合第一页| 男女爽爽无遮挡午夜视频| 九九热在线免费观看视频| 国产精品v片在线观看不卡| 亚洲精品一区二区天堂| 亚洲欧美日韩综合一区在线 | 国内自拍小视频在线看| 老熟妇乱子交视频一区| 国产亚洲欧美精品久久久| 欧洲熟妇色xxxx欧美老妇免费 | 少妇被粗大的猛烈进出动视频 | 尤物国产精品福利在线网| 国产日韩综合av在线| 国产玩具酱一区二区三区| 国产精品无码a∨精品| 日日摸夜夜添夜夜添国产三级| 国产亚洲欧洲av综合一区二区三区 | 亚洲天堂激情av在线| 國產尤物AV尤物在線觀看| 中文字幕日韩区二区三区| 麻豆精品一区二区综合av| 日本午夜精品一区二区三区电影| 在线无码午夜福利高潮视频| 色爱综合另类图片av| 夜色资源站www国产在线视频| 免费一区二区无码东京热| 亚洲综合久久国产一区二区| 国内精品一区二区不卡| 欧美国产日产一区二区| 无套内谢少妇高清毛片| 97人妻精品一区二区三区| 日韩女同一区二区三区久久|