Android Studio를 사용하여 실행 가능한 jar 만들기
소개
Android Studio를 사용하여 실행 가능한 항아리를 만드는 방법을 설명합니다.
버전
OS 버전은 다음과 같습니다.Microsoft Windows 10 Home
10.0.18363 N/A ビルド 18363
Android Studio 버전은 다음과 같습니다.Android Studio 4.0
Build #AI-193.6911.18.40.6514223, built on May 21, 2020
Runtime version: 1.8.0_242-release-1644-b01 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
자바 버전은 다음과 같습니다.java -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
프로젝트 만들기
다음 절차에 따라 프로젝트를 만듭니다.
Android Studio를 시작합니다.
Start a new Android Studio 프로젝트를 선택합니다.
No Activity 프로젝트를 만듭니다.
Name을 "My Application"(default)이라고 합니다. Language를 "Kotlin"이라고 합니다.
jar의 모듈 만들기
다음 절차에 따라 프로젝트에 jar 모듈을 추가합니다.
File - New - New Module ...을 선택합니다.
Java or Kotlin Library를 선택합니다.
Library name을 "lib"(default)라고 합니다. 클래스 이름을 "MyClass"라고합니다.
fun main
MyClass.kt를 엽니다. 내용을 다음 처리로 바꿉니다.
MyClass.ktpackage com.example.lib
fun main(args: Array<String>) {}
여기까지 실행한 상태의 화면은 다음과 같습니다.
build.gradle
lib의 build.gradle에 다음을 추가합니다.
build.gradlejar {
manifest {
attributes("Main-Class": "com.example.lib.MyClassKt")
}
from { configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
}
jar task 추가
다음과 같이 jar task를 추가합니다.
View - Tool Windows - Gradle을 선택합니다. 창이 표시됩니다.
My Application - Tasks - build - jar를 두 번 클릭합니다. 빌드 시작합니다.
여기까지 실행한 상태의 화면은 다음과 같습니다.
다음 경로에 jar를 할 수 있습니다.
MyApplication\lib\build\libs\lib.jar
실행
command prompt를 엽니다. lib.jar이 있는 경로로 이동합니다.
다음 명령을 실행합니다.
오류없이 실행할 수 있으면 예상대로 실행 가능한 jar가 되어 있는 것을 알 수 있습니다.java -jar .\lib.jar
Troubleshooting
"Entry META-INF/XXXX" 오류 발생
다음과 같은 에러가 발생하는 경우의 대책을 기재합니다.Entry META-INF/versions/9/module-info.class is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/7.2/dsl/org.gradle.api.tasks.Copy.html#org.gradle.api.tasks.Copy:duplicatesStrategy for details.
오류가 발생한 환경
Android Studio 버전은 다음과 같습니다.Android Studio Bumblebee | 2021.1.1 Patch 2
Build #AI-211.7628.21.2111.8193401, built on February 17, 2022
Runtime version: 11.0.11+9-b60-7590822 amd64
VM: OpenJDK 64-Bit Server VM by Oracle Corporation
Windows 10 10.0
대책
build.gradle에
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
를 추가합니다.
build.gradlejar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
manifest {
attributes("Main-Class": "com.example.lib.MyClassKt")
}
from { configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
}
Reference
이 문제에 관하여(Android Studio를 사용하여 실행 가능한 jar 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tobira-code/items/0553b36f765548160bb3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
OS 버전은 다음과 같습니다.
Microsoft Windows 10 Home
10.0.18363 N/A ビルド 18363
Android Studio 버전은 다음과 같습니다.Android Studio 4.0
Build #AI-193.6911.18.40.6514223, built on May 21, 2020
Runtime version: 1.8.0_242-release-1644-b01 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
자바 버전은 다음과 같습니다.java -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
프로젝트 만들기
다음 절차에 따라 프로젝트를 만듭니다.
Android Studio를 시작합니다.
Start a new Android Studio 프로젝트를 선택합니다.
No Activity 프로젝트를 만듭니다.
Name을 "My Application"(default)이라고 합니다. Language를 "Kotlin"이라고 합니다.
jar의 모듈 만들기
다음 절차에 따라 프로젝트에 jar 모듈을 추가합니다.
File - New - New Module ...을 선택합니다.
Java or Kotlin Library를 선택합니다.
Library name을 "lib"(default)라고 합니다. 클래스 이름을 "MyClass"라고합니다.
fun main
MyClass.kt를 엽니다. 내용을 다음 처리로 바꿉니다.
MyClass.ktpackage com.example.lib
fun main(args: Array<String>) {}
여기까지 실행한 상태의 화면은 다음과 같습니다.
build.gradle
lib의 build.gradle에 다음을 추가합니다.
build.gradlejar {
manifest {
attributes("Main-Class": "com.example.lib.MyClassKt")
}
from { configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
}
jar task 추가
다음과 같이 jar task를 추가합니다.
View - Tool Windows - Gradle을 선택합니다. 창이 표시됩니다.
My Application - Tasks - build - jar를 두 번 클릭합니다. 빌드 시작합니다.
여기까지 실행한 상태의 화면은 다음과 같습니다.
다음 경로에 jar를 할 수 있습니다.
MyApplication\lib\build\libs\lib.jar
실행
command prompt를 엽니다. lib.jar이 있는 경로로 이동합니다.
다음 명령을 실행합니다.
오류없이 실행할 수 있으면 예상대로 실행 가능한 jar가 되어 있는 것을 알 수 있습니다.java -jar .\lib.jar
Troubleshooting
"Entry META-INF/XXXX" 오류 발생
다음과 같은 에러가 발생하는 경우의 대책을 기재합니다.Entry META-INF/versions/9/module-info.class is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/7.2/dsl/org.gradle.api.tasks.Copy.html#org.gradle.api.tasks.Copy:duplicatesStrategy for details.
오류가 발생한 환경
Android Studio 버전은 다음과 같습니다.Android Studio Bumblebee | 2021.1.1 Patch 2
Build #AI-211.7628.21.2111.8193401, built on February 17, 2022
Runtime version: 11.0.11+9-b60-7590822 amd64
VM: OpenJDK 64-Bit Server VM by Oracle Corporation
Windows 10 10.0
대책
build.gradle에
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
를 추가합니다.
build.gradlejar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
manifest {
attributes("Main-Class": "com.example.lib.MyClassKt")
}
from { configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
}
Reference
이 문제에 관하여(Android Studio를 사용하여 실행 가능한 jar 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tobira-code/items/0553b36f765548160bb3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
다음 절차에 따라 프로젝트에 jar 모듈을 추가합니다.
File - New - New Module ...을 선택합니다.
Java or Kotlin Library를 선택합니다.
Library name을 "lib"(default)라고 합니다. 클래스 이름을 "MyClass"라고합니다.
fun main
MyClass.kt를 엽니다. 내용을 다음 처리로 바꿉니다.
MyClass.ktpackage com.example.lib
fun main(args: Array<String>) {}
여기까지 실행한 상태의 화면은 다음과 같습니다.
build.gradle
lib의 build.gradle에 다음을 추가합니다.
build.gradlejar {
manifest {
attributes("Main-Class": "com.example.lib.MyClassKt")
}
from { configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
}
jar task 추가
다음과 같이 jar task를 추가합니다.
View - Tool Windows - Gradle을 선택합니다. 창이 표시됩니다.
My Application - Tasks - build - jar를 두 번 클릭합니다. 빌드 시작합니다.
여기까지 실행한 상태의 화면은 다음과 같습니다.
다음 경로에 jar를 할 수 있습니다.
MyApplication\lib\build\libs\lib.jar
실행
command prompt를 엽니다. lib.jar이 있는 경로로 이동합니다.
다음 명령을 실행합니다.
오류없이 실행할 수 있으면 예상대로 실행 가능한 jar가 되어 있는 것을 알 수 있습니다.java -jar .\lib.jar
Troubleshooting
"Entry META-INF/XXXX" 오류 발생
다음과 같은 에러가 발생하는 경우의 대책을 기재합니다.Entry META-INF/versions/9/module-info.class is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/7.2/dsl/org.gradle.api.tasks.Copy.html#org.gradle.api.tasks.Copy:duplicatesStrategy for details.
오류가 발생한 환경
Android Studio 버전은 다음과 같습니다.Android Studio Bumblebee | 2021.1.1 Patch 2
Build #AI-211.7628.21.2111.8193401, built on February 17, 2022
Runtime version: 11.0.11+9-b60-7590822 amd64
VM: OpenJDK 64-Bit Server VM by Oracle Corporation
Windows 10 10.0
대책
build.gradle에
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
를 추가합니다.
build.gradlejar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
manifest {
attributes("Main-Class": "com.example.lib.MyClassKt")
}
from { configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
}
Reference
이 문제에 관하여(Android Studio를 사용하여 실행 가능한 jar 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tobira-code/items/0553b36f765548160bb3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
package com.example.lib
fun main(args: Array<String>) {}
lib의 build.gradle에 다음을 추가합니다.
build.gradle
jar {
manifest {
attributes("Main-Class": "com.example.lib.MyClassKt")
}
from { configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
}
jar task 추가
다음과 같이 jar task를 추가합니다.
View - Tool Windows - Gradle을 선택합니다. 창이 표시됩니다.
My Application - Tasks - build - jar를 두 번 클릭합니다. 빌드 시작합니다.
여기까지 실행한 상태의 화면은 다음과 같습니다.
다음 경로에 jar를 할 수 있습니다.
MyApplication\lib\build\libs\lib.jar
실행
command prompt를 엽니다. lib.jar이 있는 경로로 이동합니다.
다음 명령을 실행합니다.
오류없이 실행할 수 있으면 예상대로 실행 가능한 jar가 되어 있는 것을 알 수 있습니다.java -jar .\lib.jar
Troubleshooting
"Entry META-INF/XXXX" 오류 발생
다음과 같은 에러가 발생하는 경우의 대책을 기재합니다.Entry META-INF/versions/9/module-info.class is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/7.2/dsl/org.gradle.api.tasks.Copy.html#org.gradle.api.tasks.Copy:duplicatesStrategy for details.
오류가 발생한 환경
Android Studio 버전은 다음과 같습니다.Android Studio Bumblebee | 2021.1.1 Patch 2
Build #AI-211.7628.21.2111.8193401, built on February 17, 2022
Runtime version: 11.0.11+9-b60-7590822 amd64
VM: OpenJDK 64-Bit Server VM by Oracle Corporation
Windows 10 10.0
대책
build.gradle에
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
를 추가합니다.
build.gradlejar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
manifest {
attributes("Main-Class": "com.example.lib.MyClassKt")
}
from { configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
}
Reference
이 문제에 관하여(Android Studio를 사용하여 실행 가능한 jar 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tobira-code/items/0553b36f765548160bb3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
command prompt를 엽니다. lib.jar이 있는 경로로 이동합니다.
다음 명령을 실행합니다.
오류없이 실행할 수 있으면 예상대로 실행 가능한 jar가 되어 있는 것을 알 수 있습니다.
java -jar .\lib.jar
Troubleshooting
"Entry META-INF/XXXX" 오류 발생
다음과 같은 에러가 발생하는 경우의 대책을 기재합니다.Entry META-INF/versions/9/module-info.class is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/7.2/dsl/org.gradle.api.tasks.Copy.html#org.gradle.api.tasks.Copy:duplicatesStrategy for details.
오류가 발생한 환경
Android Studio 버전은 다음과 같습니다.Android Studio Bumblebee | 2021.1.1 Patch 2
Build #AI-211.7628.21.2111.8193401, built on February 17, 2022
Runtime version: 11.0.11+9-b60-7590822 amd64
VM: OpenJDK 64-Bit Server VM by Oracle Corporation
Windows 10 10.0
대책
build.gradle에
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
를 추가합니다.
build.gradlejar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
manifest {
attributes("Main-Class": "com.example.lib.MyClassKt")
}
from { configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
}
Reference
이 문제에 관하여(Android Studio를 사용하여 실행 가능한 jar 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tobira-code/items/0553b36f765548160bb3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Entry META-INF/versions/9/module-info.class is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/7.2/dsl/org.gradle.api.tasks.Copy.html#org.gradle.api.tasks.Copy:duplicatesStrategy for details.
Android Studio Bumblebee | 2021.1.1 Patch 2
Build #AI-211.7628.21.2111.8193401, built on February 17, 2022
Runtime version: 11.0.11+9-b60-7590822 amd64
VM: OpenJDK 64-Bit Server VM by Oracle Corporation
Windows 10 10.0
jar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
manifest {
attributes("Main-Class": "com.example.lib.MyClassKt")
}
from { configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
}
Reference
이 문제에 관하여(Android Studio를 사용하여 실행 가능한 jar 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tobira-code/items/0553b36f765548160bb3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)