Maven, JCenter 및 JitPack을 사용하여 Android Studio에 GitHub 라이브러리 추가

작가: Lewis Jackson
창조 날짜: 13 할 수있다 2021
업데이트 날짜: 1 칠월 2024
Anonim
Android Studio에 외부 라이브러리 추가
동영상: Android Studio에 외부 라이브러리 추가

콘텐츠


섬은 거의 없습니다. 대부분의 Android 프로젝트는 타사 Android 라이브러리를 포함하여 다른 여러 구성 요소에 종속됩니다.

Android 라이브러리에는 소스 코드, 리소스 및 매니페스트와 같은 일반 Android 프로젝트에서 찾은 것과 동일한 파일이 포함되어 있습니다. 그러나 Android 디바이스에서 실행할 수있는 Apk (Android Package Kit)로 컴파일하는 대신 라이브러리는 프로젝트 종속성으로 사용할 수있는 코드 아카이브로 컴파일됩니다. 이 라이브러리를 사용하면 바닐라 Android 플랫폼에 포함되지 않은 일부 기능을 포함하여 광범위한 추가 기능에 액세스 할 수 있습니다.

안드로이드 라이브러리를 찾기에 가장 좋은 곳 중 하나는 GitHub입니다. 그러나 GitHub 페이지에서 프로젝트로 라이브러리를 가져 오는 것이 항상 간단하지는 않습니다. 특히 개발자가 GitHub 프로젝트를 배포하는 데 사용할 수있는 여러 저장소가 있기 때문에 개발자가 어떤 저장소를 사용하는지 항상 명확하지 않을 수도 있습니다!

이 기사에서는 라이브러리를 원격 종속성으로 추가할지 로컬 종속성으로 추가할지에 관계없이 GitHub에서 발견 한 라이브러리를 Android 프로젝트로 가져 오는 방법을 보여 드리겠습니다.

원격 종속성 추가

프로젝트에 라이브러리를 모듈로 추가하는 Android Studio의 Gradle 빌드 시스템 의존성. 이러한 종속성은 Maven 또는 JCenter와 같은 원격 리포지토리에 있거나 로컬 종속성으로 프로젝트 내부에 저장 될 수 있습니다. Gradle에 이러한 종속성을 찾을 수있는 위치를 알려 주면됩니다.

라이브러리를 원격 종속성으로 추가하는 것이 일반적으로 프로젝트에 라이브러리 코드를 가져 오는 가장 빠르고 쉬운 방법이므로 먼저 살펴볼 방법입니다. 라이브러리를 원격 종속성으로 추가하면 Gradle은 종속성을 포함하여 실행할 수있는 모든 것을 포함합니다. 전이 일반적으로 라이브러리를 가능한 한 원격 종속성으로 추가하려고합니다.


원격 종속성을 추가하려면 Gradle에 두 가지 정보를 제공해야합니다.

  • 저장소. Gradle은 라이브러리 (또는 라이브러리)를 찾아야하는 저장소 (또는 저장소)를 알아야합니다. 안드로이드 라이브러리는 Maven Central 또는 JCenter를 통해 배포되는 경향이 있습니다.
  • 컴파일 문. 여기에는 라이브러리 패키지 이름, 라이브러리 그룹 이름 및 사용하려는 라이브러리 버전이 포함됩니다.

라이브러리의 GitHub 페이지가이 모든 정보를 제공하는 것이 이상적입니다. 실제로 이것은 항상 그런 것은 아니지만 최상의 시나리오로 시작하고 라이브러리의 GitHub 페이지에이 정보가 포함되어 있다고 가정합시다.

JCenter로 원격 종속성 추가

StyleableToast는 배경색, 모서리 반경 및 글꼴 변경, 아이콘 추가를 포함하여 Android 토스트의 모든 부분을 사용자 정의 할 수있는 라이브러리입니다. 또한 전용 '설치'섹션에서이 라이브러리를 프로젝트에 추가하는 데 필요한 모든 정보를 제공합니다. 여기서 우리는이 프로젝트가 JCenter를 통해 배포되었음을 알 수 있습니다.

최신 버전의 Android Studio로 프로젝트를 만들면 프로젝트의 build.gradle 파일이 이미 JCenter를 지원하도록 설정되어 있습니다. 프로젝트 수준 build.gradle 파일을 열면 JCenter가 '모든 프로젝트 / 리포지토리'섹션에 이미 포함되어 있음을 알 수 있습니다.

allprojects {리포지토리 {jcenter ()}}

프로젝트 레벨 build.gradle 파일에는 두 개의 '리포지토리'블록이 포함되어 있지만 'buildscript / 리포지토리'블록은 Gradle이이 빌드를 수행하는 방법을 정의하는 지점입니다. 이 섹션에 모듈 종속성을 추가해서는 안됩니다.


프로젝트가 이미 JCenter를 확인하도록 구성되어 있으므로 컴파일 문을 모듈 수준 build.gradle 파일에 추가하기 만하면됩니다.

다시 한 번 StyleableToast는 필요한 정보를 정확하게 제공하므로 StyleableToast의 GitHub 페이지에서 컴파일 명령문을 복사하여 Gradle 파일에 붙여 넣기 만하면됩니다.

의존성 {컴파일 com.muddzdev : styleabletoast : 1.0.8}

‘동기화’배너를 클릭하거나 툴바에서‘Gradle 파일과 프로젝트 동기화’아이콘을 선택하여 Gradle 파일을 동기화하십시오. 그런 다음 Gradle은 JCenter 서버에 쿼리하여 Styleabletoast 라이브러리가 있는지 확인하고 모든 파일을 다운로드합니다. 이제이 라이브러리를 사용할 준비가되었습니다!

2. Maven Central로 원격 종속성 추가

또는 프로젝트의 GitHub 페이지에이 라이브러리가 Maven Central을 통해 배포되었다고 표시되면 대신 Gradle에 Maven Central을 확인하도록 지시해야합니다.

프로젝트 레벨 build.gradle 파일을 열고 Maven Central을“allprojects”블록에 추가하십시오 :

allprojects {저장소 {mavenCentral ()}}

여기에서 나머지 프로세스는 정확히 동일합니다. 모듈 수준 build.gradle 파일을 열고 compile 문을 추가하고 Gradle과 동기화하십시오.

3. 자체 서버에서 호스팅되는 원격 종속성 추가

간혹 JCenter 또는 Maven Central을 통해 배포 된 프로젝트가있을 수 있지만 개발자가 자신의 서버에서 프로젝트를 호스팅하도록 선택했습니다. 이 경우 프로젝트의 GitHub 페이지에서 매우 구체적인 URL을 사용하도록 지시해야합니다. 예를 들어 Fabric의 Crashlytics Kit 저장소는 https://maven.fabric.io/public에 있습니다.

이런 종류의 URL이 표시되면 프로젝트 수준 build.gradle 파일을 열고 정확한 URL과 함께 리포지토리 (이 경우 Maven)를 선언해야합니다.

리포지토리 {maven {url https://maven.fabric.io/public}}

그런 다음 컴파일 명령문을 추가하고 파일을 정상적으로 동기화 할 수 있습니다.

저장소 및 / 또는 컴파일 문을 찾을 수 없으면 어떻게합니까?

지금까지 우리는 낙관적이며 프로젝트의 GitHub라고 가정했습니다. 항상 알아야 할 모든 정보를 알려줍니다. 불행히도 이것이 항상 그런 것은 아니므로 최상의 시나리오에서 최악의 시나리오로 전환하고 프로젝트의 GitHub 페이지에서 사용해야하는 리포지토리 및 컴파일 명령문에 대한 정보를 제공하지 않는다고 상상해보십시오.

이 시나리오에서는 다음 중 하나를 수행 할 수 있습니다.

  • JitPack을 사용하십시오.
  • 전체 저장소를 복제하고 코드를 프로젝트에 자체 모듈로 가져 오십시오.

JitPack 사용

JitPack은 모든 GitHub 프로젝트를 원격 종속성으로 추가 할 수있는 Git 용 패키지 저장소입니다. 라이브러리에 빌드 파일이 포함되어있는 한 JitPack은이 라이브러리를 프로젝트에 추가하는 데 필요한 모든 정보를 생성 할 수 있습니다.

첫 번째 단계는 프로젝트 레벨 build.gradle 파일을 열고 JitPack을 저장소로 추가하는 것입니다.

allprojects {저장소 {maven {url https://jitpack.io}}}

그런 다음 JitPack 웹 사이트를 사용하여 해당 프로젝트의 GitHub URL을 기반으로 컴파일 명령문을 생성 할 수 있습니다.

  • 웹 브라우저에서 라이브러리의 GitHub 페이지로 이동하십시오. URL을 복사하십시오.
  • JitPack 웹 사이트로 이동하십시오.
  • 웹 사이트의 검색 필드에 URL을 붙여 넣은 다음 동봉 된 '찾아보기'버튼을 클릭하십시오.
  • 그러면 웹 페이지에이 라이브러리의 모든 버전에 대한 표가 릴리스, 빌드, 분기 및 커밋과 같은 다양한 탭으로 나뉩니다. 일반적으로 릴리즈는보다 안정적인 경향이 있지만 커밋 섹션에는 최신 변경 사항이 포함됩니다.

  • 사용하려는 버전을 결정한 후 함께 제공되는 'Get It'버튼을 클릭하십시오.
  • 사용해야하는 정확한 컴파일 명령문을 표시하도록 웹 사이트가 업데이트되어야합니다.

  • 이 컴파일 명령문을 프로젝트의 모듈 레벨 build.gradle 파일에 복사 / 붙여 넣기하십시오.
  • Gradle 파일을 동기화하면 라이브러리 사용을 시작할 수 있습니다!

GitHub 프로젝트 복제

또는 라이브러리의 저장소 및 / 또는 컴파일 문이 확실하지 않은 경우 복제 GitHub 프로젝트. 복제는 모든 GitHub 프로젝트 코드 및 리소스의 사본을 생성하고이 사본을 로컬 머신에 저장합니다. 그런 다음 복제본을 자체 모듈로 프로젝트에 가져 와서 모듈 종속성으로 사용할 수 있습니다.

이 방법은 시간이 많이 걸리며 프로젝트 코드 전체를 가져 오면 나머지 프로젝트와 충돌 할 수 있습니다. 그러나 복제를 통해 모든 라이브러리 코드에 액세스 할 수 있으므로이 방법은 라이브러리를 사용자 정의하려는 경우 (예 : 코드를 조정하여 프로젝트의 나머지 부분과 더 잘 통합하거나 새로운 기능을 추가하는 경우) 이상적입니다 다른 사람들이 귀하의 변경으로 이익을 얻을 수 있다고 생각되면 개선 사항을 프로젝트에 다시 제공하는 것을 고려할 수 있습니다.

GitHub 프로젝트를 복제하려면 :

  • GitHub 계정을 만듭니다.
  • Android Studio의 '환영'화면에서 '버전 관리에서 체크 아웃'을 선택하십시오.
  • GitHub 자격 증명을 입력하십시오.
  • 웹 브라우저를 열고 복제하려는 GitHub 리포지토리로 이동 한 다음 URL을 복사하여 Android Studio 대화 상자에 붙여 넣습니다.
  • 복제 된 저장소를 저장하려는 로컬 디렉토리를 지정하십시오.
  • 이 디렉토리의 이름을 지정한 다음 '복제'를 클릭하십시오.

이제 라이브러리 코드 사본이 준비되었습니다.이 라이브러리를 새 모듈로 Android 프로젝트로 가져올 수 있습니다.

  • 복제 된 라이브러리를 사용하려는 프로젝트를 연 다음 Android Studio 도구 모음에서 '파일> 새로 만들기> 모듈 가져 오기'를 선택하십시오.
  • 3 점 버튼을 클릭하고 복제 된 저장소로 이동하십시오. 이 저장소를 선택한 다음 '확인'을 클릭하십시오.
  • ‘마침’을 클릭하십시오.
  • Android Studio 툴바에서 '파일> 프로젝트 구조'를 선택하십시오.
  • 왼쪽 메뉴에서이 라이브러리를 사용하려는 모듈을 선택하십시오.
  • '종속성'탭을 선택하십시오.

  • 작은 '+'아이콘과 '모듈 종속성'을 차례로 선택하십시오.
  • 라이브러리 모듈을 선택한 다음 '확인'을 클릭하십시오.
  • ‘프로젝트 구조’창을 종료하십시오.

사용중인 라이브러리에 따라 프로젝트를 컴파일하기 전에 가져온 코드를 약간 조정해야 할 수도 있습니다. 예를 들어 Android Studio의 's'탭이 호환되지 않는 minSdkVersions에 대해 불평하는 경우 라이브러리에서 사용중인 API가 프로젝트의 build.gradle 파일에 정의 된 Android 플랫폼 버전과 호환되지 않을 가능성이 있습니다. 마찬가지로 Android Studio가 프로젝트의 buildToolsVersion에 대해 불평하는 경우 라이브러리에 정의 된 버전과 프로젝트의 다른 위치에 정의 된 버전이 일치하지 않을 수 있습니다. 이 두 시나리오에서 모두 build.gradle 파일에 정의 된 값을 확인하고 그에 따라 변경해야합니다.

문제 해결

작업 할 때 어떤 일반적으로 비 호환성, 버그 및 만능 문제가 발생할 가능성이 큰 타사 소프트웨어 이상한 같은 팀에서 개발 한 소프트웨어 제품군을 사용할 때와 퍼즐의 모든 부분이 함께 작동하도록 특별히 설계된 경우와 비교하여

프로젝트에 라이브러리를 추가 한 후 문제가 발생하면 다음 수정 사항을 시도하십시오.

  • 실수로 동일한 라이브러리의 여러 버전을 추가하지 않았는지 확인하십시오. Android Studio가 "다중 DEX 파일 정의…"오류를보고하면 동일한 라이브러리를 프로젝트에 두 번 이상 추가했을 수 있습니다. Android Studio 툴바에서 '파일> 프로젝트 구조'를 선택한 다음 검사하려는 모듈을 선택하고 '종속성'탭을 클릭하여 모듈의 종속성을 검토 할 수 있습니다. 이 창에 라이브러리가 여러 번 나타나면 복제본을 선택한 다음 작은 '-'아이콘을 클릭하여 제거하십시오.
  • 검색하다. 다른 사람들이 귀하와 동일한 문제를 겪었을 가능성이 항상 있으므로 Google 검색을 신속하게 수행하여 포럼이나 Stackoverflow와 같은 커뮤니티에이 문제에 대해 게시 한 사람이 있는지 확인하십시오. 운이 좋으면이 정확한 문제를 해결하는 방법에 대한 지침이 포함 된 블로그 나 자습서를 찾을 수도 있습니다.
  • 프로젝트를 정리하고 다시 빌드하십시오. 경우에 따라 Android Studio 도구 모음에서‘빌드> 프로젝트 정리’를 선택한 다음‘빌드> 프로젝트 다시 빌드’를 선택하면 문제를 해결할 수 있습니다.
  • 그리고 다른 모든 것이 실패한다면 ... 타사 소프트웨어가 올바르게 작동하게하려면 약간의 시행 착오가 필요하기 때문에 선택한 라이브러리를 가져 오는 다른 방법이 있다면 항상 시도해 볼 가치가 있습니다. 복제 된 리포지토리를 가져온 후에 프로젝트 컴파일을 거부한다고해서 반드시 동일한 라이브러리를 원격 종속성으로 사용하려고 할 때 동일한 반응을 보일 것이라는 의미는 아닙니다.

마무리

이 기사에서는 라이브러리가 JCenter를 통해 배포되는지 또는 Maven Central을 통해 배포되는지에 관계없이 GitHub에서 검색 한 라이브러리를 Android 프로젝트에 추가하는 방법을 살펴 보았습니다. 그리고 어떤 저장소 또는 컴파일 명령문을 사용해야하는지 모르더라도 항상 JitPack을 사용하거나 라이브러리 코드를 복제 할 수 있습니다.

GitHub에서 훌륭한 Android 라이브러리를 발견 했습니까? 아래 의견에 알려주십시오!

에어 비앤비는 전 세계의 방, 아파트 및 주택을 임대하는 데 널리 사용되는 방법이지만 요즘 뿌리에서 벗어났습니다. 독특하고 지역적인 경험이었던 것은 실제 사람의 집보다 호텔처럼 느껴지는 이익을 추구하는 벤처에 도움이되었습니다.에어 비앤비는 현지 플레어를 되살리기 위해 2017 년 에어 비앤비 익스피리언스를 시작했습니다. 여기에는 공예 워크숍에서 현지 요리 ...

재미있는 사실이 있습니다. Microoft Azure는 Fortune 500 대 기업 중 95 % 이상이 사용. 이러한 클라우드 컴퓨팅 서비스를 유지 관리하는 사람들이 자신의 노력에 대해 큰 보상을 받는다는 것은 놀라운 일이 아닙니다.이 수익성있는 필드에 들어가기 위해 Eential Microoft Azure 인증 번들이 커리어 런치 패드가 될 수 있습니다...

인기있는 기사