[Android] 외부 라이브러리 사용하기
MPAndroidChart 라는 것을 사용해보기로 했는데, 외부 라이브러리라 따로 디펜던시를 추가해줘야 했다.
근데 안드로이드 개발을 잘 안해보다보니 gradle 사용하는 것부터가 막힘 ㅋ
안드로이드는 외부 라이브러리를 사용하기 위해서 gradle 파일에 경로를 추가해줘야 함.
사용할 라이브러리는 이거다. https://github.com/PhilJay/MPAndroidChart
사용방법에 다음과 같이 나와있었는데, 정확히 어디에 추가해야 되는지 몰라서 찾아봤다.
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
}
안드로이드에 보면 build.gradle 이 두 가지가 존재한다. Project에 관련된 것과, Module(app)에 관련된 것인데, 막 블로그 글들 찾아보면 두 가지에 따로 넣는 방법과 Module 하나에만 넣는 방법이 있었다. 전자가 안돼서 후자로 진행한다.
build.gradle (Module)과 settings.gradle 두 파일을 수정하면 된다.
다 넣으면 다음과 같이 된다.
build.grade (Module)
allprojects {} 를 따로 만들어서 repositories를 추가했다. dependencies는 맨 마지막 줄에 implementation 을 추가했다.
plugins {
id 'com.android.application'
}
android {
compileSdk 31
defaultConfig {
applicationId "com.example.water_farm"
minSdk 21
targetSdk 31
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildFeatures {
viewBinding true
}
}
allprojects {
repositories {
maven {url 'https://jitpack.io'}
}
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
implementation 'androidx.navigation:navigation-fragment:2.3.5'
implementation 'androidx.navigation:navigation-ui:2.3.5'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
}
settings.gradle
repositories에 `maven {url 'https://jitpack.io'}`을 추가하고, 기존의 `repositoriesMode.set(FAIL_ON_PROJECT_REPOS)`을 `repositoriesMode.set(PREFER_SETTINGS)`으로 바꿔준다.
import org.gradle.api.initialization.resolve.RepositoriesMode
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
repositories {
google()
mavenCentral()
jcenter() // Warning: this repository is going to shut down soon
maven {url 'https://jitpack.io'}
}
}
rootProject.name = "Water-Farm"
include ':app'
이제 Sync를 하면 됨!
special thanks. kingley
'Programming$ > Android' 카테고리의 다른 글
glide (feat. custom dialog) (0) | 2020.06.24 |
---|---|
JNI function symbol 제거하기 (0) | 2020.06.12 |
Intent로 Activity 간 데이터 교환 (0) | 2020.04.14 |
onClickListener implements로 구현하기 (0) | 2020.04.14 |