Android Studio에서 ar 파일 만들기
안드로이드 스튜디오에서 라이브러리에 대한 aar 파일을 만들고 싶습니다. jar 옵션을 사용하고 싶지만 라이브러리에 리소스가 있습니다.
도서관에서 aar 파일을 만드는 방법이 있습니까?
경우 가 Android 을 , 을 들어,apply plugin: 'com.android.library'
build.gradle file)의 statement)를 빌드하면 .aar가 출력됩니다.모듈의 디렉토리에 있는 build/outputs/aar/ 디렉토리에 표시됩니다.
파일 > 새 모듈에서 "Android Library" 유형을 선택하여 새 Android Library를 작성할 수 있습니다.
만약 당신이 아직도 당신의 것을 보지 못한다면,aar
일 ,Build > Rebuild Project
.
로컬 빌드에서 내보낸 .aar 파일을 검색합니다.
Android () 에 .aar 에서 및 에 수 .build/outputs/aar/
해당 프로젝트의 디렉토리입니다.
your-library-project
|- build
|- outputs
|- aar
|- appframework-debug.aar
- appframework-release.aar
이 파일이 없으면 다음 파일로 빌드를 시작합니다.
gradlew assemble
macOS 사용자용
./gradlew assemble
도서관프로젝트상세
build.gradle
가 들어 파일apply plugin: com.android.library
. 이 라이브러리를 참조하기 위해 다음과 같이 포장되어 있습니다..aar
package나 version 같은 속성을 정의해야 합니다.
build.gradle
파일 for library (이 예는 릴리스에서 난독화를 포함함):
apply plugin: 'com.android.library'
android {
compileSdkVersion 21
buildToolsVersion "21.1.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 21
versionCode 1
versionName "0.1.0"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
프로젝트에서 .aar 파일 참조
이 를 할 수 ..aar
libs
폴더를 저장하고 업데이트합니다.build.gradle
아래 예제를 사용하여 이 라이브러리를 참조할 파일:
apply plugin: 'com.android.application'
repositories {
mavenCentral()
flatDir {
dirs 'libs' //this way we can find the .aar file in libs folder
}
}
android {
compileSdkVersion 21
buildToolsVersion "21.0.0"
defaultConfig {
minSdkVersion 14
targetSdkVersion 20
versionCode 4
versionName "0.4.0"
applicationId "yourdomain.yourpackage"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
}
}
}
dependencies {
compile 'be.hcpl.android.appframework:appframework:0.1.0@aar'
}
gradle에서 로컬 종속성 파일을 참조하는 대안 옵션은 다음 사이트에서 찾을 수 있습니다. http://kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-android-project
메이븐을 이용한 의존관계 공유
가 있는 ..aar
당신의 조직내의 파일들은 체크아웃이 가능합니다.이 주제에 대한 멋진 글은 https://web.archive.org/web/20141002122437/http ://blog.glassdiary.com/post/67134169807/how-to-share-android-archive-library-aar-across 에서 확인할 수 있습니다.
.aar 파일 형식
입니다..zip
다른 확장자와 특정 내용을 포함합니다.자세한 내용은 aar 형식에 관한 이 링크를 확인하세요.
사용자 hcpl이 말한 것처럼 라이브러리 버전에 대해 걱정하지 않으려면 다음을 수행할 수 있습니다.
dependencies {
compile(name:'mylibrary', ext:'aar')
}
매번 버전을 업데이트해야 하는 것이 귀찮기 때문입니다.또한 이렇게 하면 이름 공간에 대한 걱정을 덜 수 있습니다.
AAR을 작성하려면
다음 단계를 작성하는 동안.
File->New->New Module->Android Library and create
.
AAR 생성 방법
Android 스튜디오의 오른쪽 상단 창에서 아래 단계에 따라 그라들로 이동합니다.
Gradle->Drop down library name -> tasks-> build-> assemble or assemble release
AAR은 빌드/출력/aar/에서 생성됩니다.
그러나 AAR을 프로젝트 디렉토리의 특정 폴더에 생성하기를 원한다면, 당신의 앱 레벨을 수정하세요.build.gradle
아래와 같이
defaultConfig {
minSdkVersion 26
targetSdkVersion 28
versionCode System.getenv("BUILD_NUMBER") as Integer ?: 1
versionName "0.0.${versionCode}"
libraryVariants.all { variant ->
variant.outputs.all { output ->
outputFileName = "/../../../../release/" + ("your_recommended_name.aar")
}
}
}
이제 AAR이 있는 프로젝트 디렉토리에 "release"라는 이름의 폴더를 생성합니다.
업데이트된 답변
최신 릴리스에서는 특정 경로가 지원되지 않습니다.라이브러리의 build.gradle 및 rebuild 프로젝트에 아래 코드를 추가해주시기 바랍니다."aar" Rebuild 후 프로젝트 구조를 Android에서 Project로 변경합니다-> 라이브러리로 탐색->build->outputs->aar
android {
defaultConfig {
minSdkVersion ..
targetSdkVersion ..
versionCode ...
versionName "1"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles 'consumer-rules.pro'
}
libraryVariants.all { variant ->
variant.outputs.all { output ->
outputFileName = "${archivesBaseName}_${variant.name}_${defaultConfig.versionName}.aar"
}
}}
"aar"를 프로젝트로 가져오려면 아래 링크를 확인하십시오.
Android용 Gradle을 사용하여 외부 aar 패키지를 수동으로 포함하는 방법
동일한 스레드에서 hcpl의 답변에 언급된 첫 번째 및 두 번째 단계를 수행한 후, 우리는 아래와 같이 our-android-app-project-based-on-gradle/app/build.gradle 파일에 '*.aar', dir: 'libs'를 추가했습니다.
...
dependencies {
implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
...
저희 그라들 버전은 com.android 입니다.tools.build:gradle:3.2.1
그건 그렇고 @aar는 경과적 의존성이 없습니다.설정할 매개 변수가 필요합니다. gradle을 사용하는 aar 라이브러리에 대해 transitive dependency가 해결되지 않았습니다.
빌드 ---> 번들/apk 빌드
.aar 파일은 build/outputs/aar 폴더에서 생성됩니다.
드디어 여기서 해결책을 찾음 - https://stackoverflow.com/a/49663101/9640177
implementation files('libs/aar-file.aar')
편집 라이브러리 모듈에 대해 minifyEnabled true를 설정했습니다.
.jar
에 의해 생성됩니다.apply plugin: 'java-library'
.aar
에 의해 생성됩니다.apply plugin: 'com.android.library'
File -> New -> New Module... -> Android Library
게시를 위해 올바르게 설정한 경우 이 명령을 실행하여 생성할 수 있습니다.aar
서류철
./gradlew publishReleasePublicationToMavenLocal
이것은 다음을 생성할 것입니다.aar
안에 줄을 대다<module-dir>/build/output/aar
디렉토리 입니다.
이제 다른 지역 프로젝트에서도 이 도서관을 사용할 수 있습니다.프로젝트에 추가gradle
이것을 사용하고 싶은.aar
모듈
implementation fileTree(dir: '<location-to-library>/build/outputs/aar/', include: ['*.aar', '*.jar'], exclude: [])
언급URL : https://stackoverflow.com/questions/24309950/create-aar-file-in-android-studio
'programing' 카테고리의 다른 글
org.apache.poi.POIXMLException Strict OOXML은 현재 지원되지 않습니다. 버그 #57699를 참조하십시오. (0) | 2023.10.12 |
---|---|
Laravel 5 변경 public_path() (0) | 2023.10.12 |
301 표준 WordPress .htaccess 파일로 IP 주소 리디렉션 (0) | 2023.10.07 |
요소 형제를 얻는 *각도* 방법은 무엇입니까? (0) | 2023.10.07 |
"스트립"(GCC 응용프로그램)은 무엇에 사용됩니까? (0) | 2023.10.07 |