티스토리 뷰

반응형

ButterKnife 는 java 언어로 안드로이드 앱을 만들 때 없어서는 안되는 편리한 tool 이었습니다. 지금은 코틀린의 extention으로 인하여 ButterKnife 사용 비중이 줄어들 것으로 예상되는데요.

최근 Google에서는 API 26 이상 버전만 Goolge Play Store에 등록할 수 있다고 하였습니다. 저는 API 26 버전을 올리면서 Gradle 3.0.0 으로 올리게 되었습니다. 그러면서 발생한 이슈 중 하나가 Android ButterKnife 이슈 였습니다.

가장 기본적인 빌드조차 안되는 이슈가 발생했었는데요. 이 이슈를 어떻게 해결했는지 나눌려고 합니다.

Android Gradle 3.0.0 에서 ButterKnife 대응 방법

StackOverFlow 을 확인하니 Gradle 3.0.0으로 올리면서 기존 Butterknife의 빌드하면서 저와 같은 이슈를 갖은 분들이 계셨습니다.

저는 JakeWharton 의 답변을 기반으로 대응하였습니다.

1. maven 주소 값 변경하기.

Butterknife의 maven 주소 값 변경을 가장 먼저하여 최신 ButterKnife을 가져올 준비를 합니다.

build.gradle (Project :'projectName')

buildscript {
   repositories {
       jcenter()
       google()
  }
   dependencies {
       classpath 'com.android.tools.build:gradle:3.0.1'
       classpath 'com.google.gms:google-services:3.2.0'
  }
}

allprojects {
   repositories {
       jcenter()
       mavenCentral()
       maven{
           url 'https://oss.sonatype.org/content/repositories/snapshots/'
      }
       maven{
           url 'https://maven.google.com'
      }
  }
}

Butterknife의 maven 주소를 설정하였습니다.

2. ButterKnife 버전 올리기

ButterKnife 버전이 8.7.0 이전이라면 8.7.0 이상으로 올려줍니다.

build.gradle (Module :app)

compile 'com.jakewharton:butterknife:8.7.0'
compile 'com.jakewharton.timber:timber:3.0.2'

3. Build Success!

1번, 2번 설정을 완료 후 빌드를 하게 되면 Gradle 3.0.0 에 대한 ButterKnife Build 성공을 확인 할 수 있습니다.

정리

간단히 솔류션 위주로 설명하다보니 내용이 부족할 수 있습니다. 자세한 것은 Github 및 ButterKnife공식 사이트에서 확인하시면 도움이 될 것으로 생각됩니다.



반응형
댓글