TLDR;
- 신규 프로젝트를 위한 Android Studio Update가 필요!
- 어?? 안 되잖아? 안돼! 🤣
- 각 버전 별 IDE를 두개로 설치해서 쓰자!
- ???
- PROFIT!!!
Windows 10 기준으로 작성한 내용입니다. 참고해주세요.
Butterknife Deprecated
소식이 좀 늦은 감이 있지만 Buffter Knife가 공식적으로 deprecated
되었습니다. View binding을 사용하라고 합니다.
기존 프로젝트에서도 Butter Knife
가 잘 동작은 하지만 새로운 프로젝트에 Butter Knife
를 차마 사용하기가 좀 그렇습니다. 최신 Android App 개발 패러다임에 맞는 다른 요소를 사용하기에도 필수적이기도 하구요.
단, 이걸 써먹을라면 한 가지 조건이 있습니다.
어.. 그런데.. 기존에 사용하던 Android Studio는 너무 구닥다리였습니다. 무려 버전 3.2.1... 2018년 10월 빌드...
IDE를 업데이트 하자
워낙 이런 판올림은 예기치 못한것들을 겪기 때문에 쉽게 결정을 할 수 없었습니다. 😤
그러나 저는 상남자이므로 기존 3.2.1 버전 IDE를 2021년 3월에 출시한 4.1.3 버전으로 업데이트를 강행하였습니다.
업데이트 에러 발생 😥
남자답게 업데이트 강행 중 한 가지 문제가 발생했습니다. Elevator로 업데이트 진행 중 몇 파일에서 충돌하여 업데이트를 할 수가 없었습니다.
다행히도 Stack overflow에 같은 문제점을 호소하는 외궈분들이 계셨고, 솔루션은 심플했습니다. 같은 버전의 Zip Archive를 다운로드 받고 기존에 설치된 IDE 바이너리와 비교 후 똑같이 맞춰주면 된다고 합니다.
Great solution. Thanks – Red wine Apr 19 '20 at 6:01
Zip Archive
Android 스튜디오 다운로드 자료실로 이동하면 이전 버전들의 설치 파일, Zip Archive 들을 다운로드할 수 있습니다. 기존 버전의 3.2.1을 다운로드 후 압축 해제를 하고 compare 프로그램으로 비교를 해보았습니다. 예상대로 업데이트 중 conflict가 발생한 파일들이 동일하게 확인되었네요.
이 당시 저에겐 미련이 없었기 때문에 수정된 파일, 추가된 파일 모두 Zip Archive과 동일하게 덮어쓰기, 삭제를 해주었습니다. 파일들을 동일하게 출고상태로 맞추어 주었으니 다시 업데이트를 진행을 하니 문제 없이 완료 되었습니다.😀
기존 프로젝트 OPEN!
기본적으로 Gradle sync / APK Build / App deployment는 어찌어찌 동작합니다.
그러나, 기존 프로젝트의 Gradle 버전이 워낙 이전의 것을 사용하고 있어 Gradle Sync 시 IDE에서 경고성 에러 메시지가 출력된다거나 Gradle을 판올림해보면 빌드 자체가 안되는 등 거슬리는게 한 두개가 아니었습니다.
이대로는 기존 프로젝트와 병행하여 사용할 수 없다고 판단하였습니다!
TWO TRACK
원점으로 돌아와 기존 IDE를 클린 제거 후 3.2.1 버전과 4.1.3버전을 동시에 설치하기로 하였습니다.
CLEAN 제거는 설치프로그램으로 설치 후 제거하였다면 아래의 패스에 해당 설정 폴더가 남아있는지 확인해주세요.
- \Users\유저이름\.AndroidStudioX.Y
- \Users\유저이름\AppData\Local\Google\AndroidX.Y
- \Users\유저이름\AppData\Roaming\Google\AndroidX.Y
- \Users\유저이름\AppData\Local\JetBrains\AndroidX.Y
- \Users\유저이름\AppData\Roaming\JetBrains\AndroidX.Y
Android 스튜디오 다운로드 자료실에서 3.2.1 버전과 4.1.3 버전을 Zip Archive로 다운로드 하고 각각 적절한 위치에 압축을 해제합니다.
윈도우 실행 파일은 %IDE_PATH%\bin
폴더 내에 studio64.exe
로 실행할 수 있으며 시작 화면에 등록하고 싶은 경우 실행 파일명은 적절하게 바꾸어주어도 됩니다. 이 파일 이름이 시작 화면에 표시되는 텍스트와 동일하게 표기되기 때문입니다. 아니면 바로가기를 만들어서 시작화면이나 작업 표시줄에 고정해줄 수 있습니다.
우선 기존 3.2.1 버전 IDE는 별도의 설정 없이 바로 실행을 하여 환경구성을 마칩니다.
이후 4.1.3 버전을 실행 시 기존 3.2.1 설정 값을 지울지 물어보는데 Cancel을 눌러 취소하게 되면 4.1.3 버전만의 설정 값이 분기되어 관리됩니다.
3.2.1: \Users\유저이름\Android3.2
에 설정 파일이 생성됩니다.4.1.3: \Users\유저이름\AppData\Local\JetBrains\Android4.1
및\Users\유저이름\AppData\Roaming\JetBrains\Android4.1
에 설정 파일이 생성됩니다.
냥캣 프로그레스바 플러그인으로 예를 들어보겠습니다.
3.2.1 버전에 대응하는 플러그인 버전은 1.12인 반면 4.1.3 버전에 대응하는 플러그인 버전은 1.14로 각 별도의 버전으로 관리되고 있는 것을 확인할 수 있습니다.
저의 경우 3버전과 4버전의 차이로 설정 값 대부분이 새로 관리되었으나 만약 메이저 버전이 같은 경우나 설정 값을 별도로 설정하고 싶은 경우에는 아래와 같이 별도의 과정을 거치면 IDE 설정 파일을 별도로 관리할 수 있습니다.
다만 플러그인 참조쪽의 path가 자연스럽게 설정이 되지 않는 점이 있기에 참고 부탁드립니다.
4.1.3 버전 바이너리를 실행하기 전에 %IDE_PATH%\bin\idea.properties
파일을 열어 아래 라인들의 주석을 제거합니다.
(#
삭제)
idea.config.path=${user.home}/.AndroidStudio/config
idea.system.path=${user.home}/.AndroidStudio/system
idea.plugins.path=${idea.config.path}/plugins
idea.log.path=${idea.system.path}/log
여기서 별도로 수정이 필요한 라인은 idea.config.path
와 idea.system.path
로 이 두 Path를 본인이 원하는 곳으로 변경을 해줍니다.
아래의 idea.plugins.path
나 idea.log.path
는 별도로 손댈 필요는 없습니다. 주석 제거만 해주세요.
제 경우는 다음과 같이 설정하였습니다. (4.1.3을 붙여줌)
idea.config.path=${user.home}/.AndroidStudio4.1.3/config
idea.system.path=${user.home}/.AndroidStudio4.1.3/system
# idea.plugins.path=${idea.config.path}/plugins -> 원래는 이렇게 되어있는데 이 경우 플러그인 설치가 안됨
idea.plugins.path=${idea.system.path}/plugins
idea.log.path=${idea.system.path}/log
2020-04-13 추가
위와 같이 설정할 경우 플러그인이 설치가 안되는 현상이 있습니다. idea.plugins.path=${idea.system.path}/plugings로 해주어야 정상적으로 플러그인이 설치됩니다. (idea.config.path가 아님)이 부분 참고 부탁드립니다~
설정 파일 저장 후 4.1.3을 실행하여 초기 설정을 마치면 IDE 설정파일이 C:\Users\%사용자%\.Android4.1.3
과 C:\Users\%사용자%\.Android3.2
에 별도로 저장되어 있음을 확인할 수 있습니다.
이렇게 구성을 마치면 버전별 설정 충돌을 걱정하지 않고 개발을 진행할 수 있습니다~ 😀
참고
- Changing IDE default directories used for config, plugins, and caches storage
- Android Studio Update: Some conflicts found in installation area
'소프트웨어 > 안드로이드' 카테고리의 다른 글
NDK java.lang.UnsatisfiedLinkError minSdkVersion 22 문제 (1) | 2022.02.10 |
---|---|
[Android] AVD 이미지 위치 변경 (2) | 2020.09.01 |
[Android] AVD 실행 안되는 경우 (0) | 2020.08.31 |
[Android/Kitkat] 로케일 변경 시 CheckBox 텍스트가 업데이트 되지 않는 현상 해결 (0) | 2020.07.13 |
[Android] Windows 개발 소스를 Linux에서 빌드할 때 주의사항 (0) | 2020.06.16 |