라이브러리 생성#
앱을 포함한 라이브러리 프로젝트 생성#
프로젝트내에서 새 라이브러리 모듈 생성방식.
- File > New > New Project을 클릭합니다.
- Empty Activity Next > 대충 설정하고 Finish
- File > New > New Module을 클릭합니다.
- Create New Module 창이 표시되면 Android Library, Next를 차례로 클릭합니다.(AAR 라이브러리 기준)
- 라이브러리에 이름을 지정하고 라이브러리의 코드를 위한 최소 SDK 버전을 선택한 후 Finish를 클릭합니다.
앱 모듈을 라이브러리 모듈로 변환#
앱없이 라이브러리 모듈만 포함한 프로젝트 생성방식.
-
File > New > New Project을 클릭합니다.
-
No Activity Next > 대충 설정하고 Finish
-
(Module: app) 의
build.gradle
파일을 엽니다. -
applicationId
를 지정하는 줄을 삭제합니다. Android 앱 모듈에서만 지정할 수 있습니다. -
``` apply plugin: 'com.android.application'
다음과 같이 변경합니다. ```groovy apply plugin: 'com.android.library'
-
파일을 저장하고 File > Sync Project with Gradle Files를 클릭합니다.
-
app폴더안에 libs, src, build.gradle 파일들을 상위폴더로 이동합니다. 그리고 app폴더는 삭제합니다.
- settings.gradle 안에 내용을 지워줍니다. 파일을 삭제해도 상관없음
- build.gradle 스크립트 수정
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
//added 꼭 추가되야함!!
buildscript {
ext.kotlin_version = '1.3.11'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
google()
jcenter()
}
}
//end
android {
compileSdkVersion 30
buildToolsVersion "30.0.1"
defaultConfig {
minSdkVersion 17
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
-
여기까지 저장하고 Sync Project with Gradle Files 했을때 에러가 난다면 gradle-wrapper.properties 에 gradle 버전과 build gradle 버전이 맞는지 여부를 확인해봐야 합니다. 이것은 코틀린 버전과도 연관이 있을 수 있습니다.
-
최종 프로젝트 뷰
-
최종 프로젝트 파일뷰