안 드 로 이 드 넥 서 스 사복 사용

6296 단어 androidnexus사복
먼저 몇 마디 잔 소 리 를 하 세 요.회사 사복 을 다 입 었 기 때문에 저 는 사복 을 만 들 려 고 애 쓰 지 않 고 lib 를 올 렸 습 니 다.다음 그림 은 제 가 구성 요소 라 이브 러 리 를 두 는 곳 입 니 다.모듈 에서 프로젝트 를 끌 어 내 서 유지 하려 고 했 는데 나중에 생각해 보 니 정말 귀 찮 았 습 니 다.여러 개의 라 이브 러 리 를 유지 하려 면 down 여러 개의 라 이브 러 리 를 내 려 와 야 하기 때문에 통일 적 으로 관 리 했 습 니 다.물론 통합 유지보수 모듈 이 많 으 면 컴 파일 속도 에 영향 을 줄 수 있 습 니 다.settings.gradle 에서 컴 파일 되 지 않 은 모듈 주석 을 없 애 면 됩 니 다.현재 이미지 선택,표정,입력 상자,별,비디오 녹화,재단 등 칠 칠 팔 팔 팔 팔 팔 팔 개 라 이브 러 리 가 있 습 니 다.뒤의 구성 요소 라 이브 러 리 가 많 으 면 유형 별로 몇 가지 항목 을 끌 어 내 서 관리 할 수 있 습 니 다.그렇지 않 으 면 버 전 관리 도 번 거 로 운 일 입 니 다.현재 module 를 업그레이드 하여 git 에 tag 라벨 을 표시 합 니 다.여러분,좋 은 건의 가 있 으 시 면 댓 글 을 환영 합 니 다.
Nexus 는 Maven 의 창고 관 리 를 바탕 으로 하 는 지역 사회 프로젝트 입 니 다.주요 한 사용 장면 은 랜 에 Maven 사복 을 구축 하여 제3자 공공 구 조 를 배치 하거나 원 격 창고 로 서 이 랜 의 대리 로 사용 할 수 있 습 니 다.간단하게 몇 가지 예 를 들 면:
1.제3자 Jar 가방 은 nexus 에 놓 을 수 있 고 프로젝트 는 Url 과 경로 설정 을 통 해 직접 참조 할 수 있 습 니 다.통일 적 인 관 리 를 편리 하 게 할 수 있 습 니 다.
2.여러 프로젝트 가 개발 할 때 일부 공용 기초 모듈 은 nexus 에 따로 추출 할 수 있 고 필요 한 프로젝트 는 nexus 에서 직접 추출 하면 됩 니 다(기초 모듈 의 실현,유지 와 배 치 는 전문 인원 에 게 맡 길 수 있 습 니 다.다른 프로젝트 는 코드 실현 에 관심 을 가지 지 않 아 도 핵심 코드 가 누설 되 지 않도록 보장 할 수 있 습 니 다).
3.일부 폐쇄 적 인 개발 과정 에서 개발 기 는 공공 네트워크 에 접속 할 수 없 기 때문에 central reposcory 와 jar 를 연결 하 는 것 이 비교적 번 거 롭 습 니 다.이때 nexus 로 공공 네트워크 와 랜 사이 에 있 는 다 리 를 만 들 수 있 습 니 다.
다음은 넥 서 스 의 구축 과 안 드 로 이 드 프로젝트 에서 넥 서 스 를 사용 하 는 방식 을 간단하게 소개 합 니 다.

프로젝트 전시.png
라 이브 러 리 를 사복 으로 배포
functionbar 라 는 구성 요소 라 이브 러 리 를 예 로 들 어 보 겠 습 니 다.
nexus 계 정 정보 설정
Nexus 관련 매개 변 수 는 고정 되 어 있 기 때문에 창고 주소,사용자 이름과 비밀 번 호 를 포함 합 니 다.안전성 을 고려 하여 이 매개 변 수 를 gradle 의 Global 설정 에 기록 합 니 다.디 렉 터 리 는 C:\Users(사용자 이름),gradle\gradle.properties 입 니 다.

NEXUS_USERNAME=username
NEXUS_PASSWORD=password
NEXUS_REPOSITORY_URL=http://xxx/nexus/repository/maven-releases/
pom 파라미터 설정
프로젝트 루트 디 렉 터 리 의 gradle.properties 에 다음 pom 인 자 를 추가 합 니 다.

//     
POM_NAME=functionbar
//   
POM_VERSION=1.0.1
//  
POM_ARTIFACTID=utils
// id
POM_GROUPID=com.app
//    
POM_PACKAGING=aar
gradle 스 크 립 트 도입
library 의 build.gradle 파일 끝 에 다음 과 같은 인용 을 추가 합 니 다.물론 이 파일 은 프로젝트 루트 경 로 를 만들어 야 합 니 다.원본 코드 는 스 크 립 트 판독 에 있 습 니 다.

apply from: '../nexus_upload.gradle'
이 넥 서 스upload.gradle 스 크 립 트 는 자바-source 와 자바-doc 를 생 성 하 는 것 을 포함 하고 있 습 니 다.주석 이 완전 하지 않 으 면 스 크 립 트 에 있 는 안 드 로 이 드 자바 docsJar 호출 을 주석 하여 업로드 에 영향 을 주지 않도록 할 수 있 습 니 다.
발표 하 다.
오른쪽 gradle task 의 uploadArchives 를 더 블 클릭 하여 library 를 컴 파일 하고 업로드 합 니 다.

up.png
잠시 후 Success 메시지 가 나타 나 면 업로드 성공 을 증명 합 니 다.

success.png
마지막 으로 넥 서 스에 가서 확인 해 보 겠 습 니 다.빙고!업로드 성공.

스 크 립 트 해독

//  maven  
apply plugin: 'maven'

task androidJavadocs(type: Javadoc) {
  options.encoding = "utf-8"
  source = android.sourceSets.main.java.srcDirs
  classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}

task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
  classifier = 'javadoc'
  from androidJavadocs.destinationDir
}

task androidSourcesJar(type: Jar) {
  classifier = 'sources'
  from android.sourceSets.main.java.srcDirs
}

artifacts {
  archives androidSourcesJar
  //    javadoc     ,     
  archives androidJavadocsJar
}

uploadArchives {
  repositories {
    mavenDeployer {
      //    
      repository(url: NEXUS_REPOSITORY_URL) {
        //      
        authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
      }
      //pom     
      pom.project {
        name POM_NAME
        version POM_VERSION
        artifactId POM_ARTIFACTID
        groupId POM_GROUPID
        packaging POM_PACKAGING
      }
    }
  }
}

사복 에 있 는 라 이브 러 리 사용 하기
우선,프로젝트 의 build.gradle 에서 사복 의 주 소 를 밝 혀 야 합 니 다.

allprojects {
  repositories {
    jcenter()
    mavenCentral()
    maven { url NEXUS_REPOSITORY_URL}
  }
}
그 다음 에 우리 가 가장 잘 아 는 module 의 build.gradle 파일 에 의존 을 추가 하 는 것 입 니 다.groupId 뒤 에는 의존 라 이브 러 리 이름 뒤에'버 전 번호'를 추가 하려 면 groupId 뒤에 쓰 는 오 류 를 범 한 적 이 있 습 니 다.

compile 'com.app:functionbar:1.0.1
개인 서버 에 Plugin(플러그 인)발표
발표 절 차 는 library 와 같은 것 입 니 다.조금 만 언급 해 야 합 니 다.스 크 립 트 정 보 는 삭제 해 야 합 니 다.다음 과 같은 것 만 사용 해 야 합 니 다.

apply plugin: 'maven'
uploadArchives {
  repositories {
    mavenDeployer {
      //    
      repository(url: NEXUS_REPOSITORY_URL) {
        //      
        authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
      }
      //pom     
      pom.project {
        name POM_NAME
        version POM_VERSION
        artifactId POM_ARTIFACTID
        groupId POM_GROUPID
        packaging POM_PACKAGING
      }
    }
  }
}
사복 의 Plugin 사용 하기
우선,프로젝트 의 build.gradle 에 classpath 인용 을 설정 하려 면 전형 적 인 작은 칼 로 예 를 들 어 보 세 요.

buildscript {
  
  repositories {
    jcenter()
    maven { url NEXUS_REPOSITORY_URL}
  }
  dependencies {
    classpath 'com.android.tools.build:gradle:2.2.0'
    classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1'
    ...
  }
}
그리고 module 에서 build.gradle 에서 플러그 인 plugin 을 참조 합 니 다.

apply plugin: 'com.android.application'
apply plugin: 'com.jakewharton.butterknife'
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기