IT

Android Studio 프로젝트에서 .jar를 만드는 방법

lottoking 2020. 8. 26. 08:09
반응형

Android Studio 프로젝트에서 .jar를 만드는 방법


AndroidStudio를 사용하고 다음과 같은 프로젝트가 있습니다.

여기에 이미지 설명 입력

파란색 원 안에있는 것은 myLib입니다. myLib는 또한 빨간색 원 안에있는 외부 라이브러리와 아파치 패키지 (녹색 원)를 사용합니다.

그래서 저는이 모든 것을 하나의 .jar로 만들고 싶습니다. 그래서 다른 프로젝트에서 사용할 수 있습니다.

단계별 가이드가 정말 감사하겠습니다. 저는 개발자 세계의 하나입니다.

감사합니다!


  • 라이브러리 프로젝트 용 build.gradle 열기 여기에 이미지 설명 입력

  • build.gradle에 두 개의 작업 (deleteJar 및 createJar)을 작성하고 createJar.dependsOn (deleteJar, build) 규칙 추가 여기에 이미지 설명 입력

위의 코드 :

task deleteJar(type: Delete) {
    delete 'libs/jars/logmanagementlib.jar'
}           

task createJar(type: Copy) {
    from('build/intermediates/bundles/release/')
    into('libs/jars/')
    include('classes.jar')
    rename('classes.jar', 'logmanagementlib.jar')
}

createJar.dependsOn(deleteJar, build)
  • 오른쪽에서 gradle 패널을 확장하고 yourlibrary-> others 아래의 모든 작업을 나타냅니다. 거기에 두 개의 새로운 작업이 표시됩니다 -createJar 및 deleteJar여기에 이미지 설명 입력

  • createJar를 두 번 클릭하십시오. 여기에 이미지 설명 입력

  • 작업이 작업으로 실행되면 createJar (예 : libs / xxxx.jar)에 언급 된 경로에서 생성 된 jar를 가져옵니다. 여기에 이미지 설명 입력

  • 새로 생성 된 jar를 필요한 프로젝트의 lib 폴더에 복사-> 마우스 오른쪽 버튼 클릭-> "라이브러리로 추가"선택


Gradle에서 코드를 일반 Java 모듈로 설정하면 Gradle에서 콘텐츠가 포함 된 jar 파일을 제공하는 것이 정말 훌륭합니다. 해당 jar 파일에는 자신의 코드 만 존재하지 않는 다른 Apache 라이브러리는 없습니다. 이 방법으로 배포하는 것이 좋습니다. 라이브러리 내부에 라이선스를 가지고 묶는 것은 약간 이상하며, 해당 라이브러리의 사용자가 해당 버전을 자체적으로 포함해야하는 것이 더 일반적입니다 (그렇지 한 이름 프로젝트의 충돌이 라이브러리 복사본, 아마도 더 일반적입니다) . ). 또한 라이브러리를 게시하는 경우 다른 사람의 코드를 재배포하는 것과 관련된 것과 같은 라이선스 문제를 방지 할 수 있습니다.

jar로해야하는 코드를 가져와 Android 스튜디오의 별도의 일반 Java 모듈로 이동합니다.

  1. 파일 메뉴> 새 모듈 ... > Java 라이브러리
  2. 마법사에서 라이브러리, Java 패키지 이름 및 클래스 이름을 설정합니다. (클래스를 생성하지 않는 경우 모듈이 생성 된 후 수 있습니다.)
  3. Android 코드에서 새 사용할 수있는 새 모듈에 대한 라이브러리를 설정합니다.
  4. File > Project Structure > Modules > (your Android Module) > Dependencies > + > Module dependency . 아래 스크린 샷을 참조하십시오.여기에 이미지 설명 입력
  5. 대화 상자의 목록에서 모듈을 선택하십시오. 여기에 이미지 설명 입력

이제 프로젝트가 빌드되기를 바랍니다. 빌드를 수행하면 Java 라이브러리의 jar 파일이 모듈 디렉토리 build / libs 디렉토리에 배치 됩니다. jar 파일을 직접 빌드하려는 Gradle 창에서 jar 빌드 파일 작업을 사용할 수 있습니다 .여기에 이미지 설명 입력


Gradle은 이미 Task그 아래에other

여기에 이미지 설명 입력

그런 다음 아래로 스크롤하여 createFullJarRelease클릭하십시오.

Gradle 작업

그 후 프로젝트 의이 폴더에서 아티팩트를 사용할 수 있습니다.

Build > Intermediates > Full_jar > Release > CreateFullJarRelease > full.jar


관리자 자바 모듈의 build.gradle에 추가하기 만하면됩니다. 아카이브에 그들이 라이브러리가 포함됩니다.

mainClassName = "com.company.application.Main"

jar {
  manifest { 
    attributes "Main-Class": "$mainClassName"
  }  

  from {
    configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
  }
}

그러면 [module_name] / build / libs / [module_name] .jar 파일이 생성됩니다.


내가 방법은 프로젝트 컴파일러 출력을 찾는 것입니다 (프로젝트 구조> 프로젝트). 그런 다음 jar로 바꾸려는 모듈의 complied 폴더를 찾아서 zip으로 압축하고 출력의 상대방을 zip에서 jar로 변경합니다.


.jar 파일은 응용 프로그램을 자동으로 생성합니다.

root_folder / app / build / intermediates / bundles / debug에서 class.jar 파일을 사용할 수 있습니다.

jar 파일 위치


task deleteJar(type: Delete) {
    delete 'libs/mylibrary.jar'
}           

task exportjar(type: Copy) {
    from('build/intermediates/compile_library_classes/release/')
    into('libs/')
    include('classes.jar')
    rename('classes.jar', 'mylibrary.jar')
}

exportjar.dependsOn(deleteJar, build)

AndroidStudio에서 gradle 작업을 실행하는 경우

assembleRelease 

또는 터미널을 통해

./gradlew <moduleName>:assembleRelease

다음에서 사용할 수 .aar있습니다<modulePath>/build/outputs/aar/<Name>.aar

그런 다음 .jar명령 줄 도구를 사용하여 추가 작업 (예 : 생성 )을 수행 할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/21712714/how-to-make-a-jar-out-from-an-android-studio-project

반응형