이제 모든 것을 자기가 직접 만들어서 쓰는 시대는 지나갔고, 필요한 것들을 얼마나 빨리 잘 찾아서 잘 쓰느냐가 관건.
(하지만~~ 너무 쫓기듯이 살지는 말자. 내가 만들어 쓰는 것 또한 그 나름의 고민과 보람이 있어서 얻는 것이 있으니~)
그런 이유보다는, '아... 요거 요거 좀 취약한데... 직접 한 번 해 봐야 마음에 평화가 오겠는데...' 싶을 때는 직접 해 보는게 상책.
[참고 사이트]
https://developer.android.com/studio/projects/android-library
아래 방법이 최선이라거나, 표준은 아니고, 그냥 해 본 방법 정도???
조만간 '아~ 이거 왜 이렇게 했었지??' 하는 시간이 온다면, 더 보람이 있겠네.
AAR을 생성하기 위한 프로젝트를 만듭니다.
- visual studio도 그랬었고, android studio도 library용 프로젝트 템플릿이 따로 있었던 것 같은데 잘 안보이네. 그럴 땐 일반 빈 프로젝트로...
이 프로젝트 자체가 라이브러리 프로젝트가 아니고, 라이브러리 모듈(?)이 포함 된 프로젝트라는 점에서 구분을 좀 해야되겠네요. 이 프로젝트는 'make...' 만드는 프로젝트이지, 라이브러리 자체가 아니라는 말~
이제 정말 라이브러리 그 자체를 만들어 보겠습니다. 참고 사이트의 내용처럼 아래 매뉴로 갑니다.
File > New > New Module
헛... 매뉴가 비활성화?????? 프로젝트를 만들고 난지 얼마 되지 않아서 프로젝트를 빌드 중이라서 그런 것 같습니다.
빌드 후에는 메뉴가 활성화 됩니다.
자~ 드디어 라이브러리 생성 템플릿 화면이 나왔습니다.
모듈에는 참 다양한 종류가 있나봅니다. 예전에는 이런 화면 보면, 각각이 무엇인지 다 공부하고 싶은 마음이 들었는데..ㅋㅋ. 이제는 따라가기도 버겁네요.
Android Library를 선택 합니다.
프로젝트 이름과 다르게, 이제 이 라이브러리의 역할에 맞는 이름을 넣어줍니다. redSum이라고 더하기를 해 주는 라이브러리를 만들겠습니다.
Finish를 누르고 나면, 프로젝트가 만들어지고, redsum이라는 패키지가 생성되어 있습니다.
build.gradle(Module: ressum)을 열어보면 apply.... 끝에 library라고 되어 있어요.
그럼, 실제로 라이브러리 구현도 해야겠죠??
redsum 패키지에 class를 하나 추가합니다.
class 이름은 resSumTool이라고 하고,
생성자와 두 개의 정수를 더한 값을 리턴 해 주는 메쏘드를 하나 추가 합니다.
이제 다 되었다 싶어서, 매뉴에서 빌드를 해줬습니다.
...
...
음.... 모듈을 만들었으니, 라이브러리도 당연히 함께 빌드 될 줄 알았는데, apk만 만들어집니다.
아래와 같이, 해당 모듈을 선택하고 Make...를 해줘야 라이브러리가 만들어 집니다.
경로는 프로젝트의 패키지 경로 안의 build/ outputs/ aar 폴더에 생깁니다.
이름에 debug가 붙어 있다는 말은, release가 붙는 설정도 있다는 뜻이고...
Select Build Variant를 선택하면, 빌드 모드를 선택 할 수 있습니다.
빌드에 대해서는 잘 모르니까 일단 숙제로 남겨두고....
바꾸면 바꿔진 결과가 나온다는 것만 확인합니다.
이렇게 해서, aar이 만들어졌습니다.
그럼 다음에는 aar를 써봐야겠네요.
실제로 내가 만든 모듈을 사용한다면, aar로 내보내서 쓸 필요는 없지만,
다른 사람이 만든 aar 쓰는 것을 연습해 보는 것이 목적이니, 요 파일들을 가지고 새 프로젝트에서 써 보겠습니다.
https://learn-and-give.tistory.com/8
* 참고 : https://developer.android.com/studio/build/build-variants?hl=ko
** 최근 버젼으로 다시 해 본 글이 있어요.
https://learn-and-give.tistory.com/81
'공허의 유산 > 사상의 도구' 카테고리의 다른 글
[Flutter]. 02. 에디터 준비 (2) | 2023.01.11 |
---|---|
[Flutter]. 01. Android 설정 (0) | 2023.01.10 |
[Flutter]. 00. Flutter 리뷰 (0) | 2023.01.09 |
[android/aar]#2. android library 사용하기 (0) | 2020.07.01 |
[android/aar]#00. 배경 지식 대충 감 잡아보기 (0) | 2020.02.01 |
댓글