모바일 프로그래밍/안드로이드 프로그래밍

AndroidSudio-외부라이브러리(ARR)

zelkova 2020. 3. 24. 17:26

<목차로 돌아가기>


ARR은?


안드로이드 앱 개발에 있어서 부족한 기능을 채우기 위해서는 다양한 라이브러리를 활용해야 합니다. 그 중 하나가 ARR(Android Archive package) 패키지 입니다. 자바에서는 주로 JAR 를 이용하지만 안드로이드에서는 자체적으로 만든 ARR 패키지를 이용합니다. 


ARR 에는 소스뿐만 아니라 각종 Resources 들을 포함시킬 수 있기 때문입니다. ARR 패키지에 포함되어 있는 파일 목록은 다음과 같습니다. 


필수요소

- /AndroidManifest.xml(필수)

- /classes.jar(필수)

- /res(필수)

- /R.txt(필수)

- /public.txt(필수)


선택요소

- /assets

- /libs/*jar

- /jni/abi_name/name.so

- /proguard.txt

- /lint.jar

- /api.jar


참조 : https://mainia.tistory.com/4878

참조 : https://developer.android.com/studio/projects/android-library?hl=ko



추가방법


arr 파일을 복사해서 libs 폴더에 붙여 넣습니다.


build.gradle 파일에 아래의 내용을 추가합니다.

repositories{

flatDir{

dirs 'libs'

}

}


dependencies{

implementation name: '패키지이름', ext: '확장자'

implementation name: 'example', ext: 'aar'

}



dependencies에서 오류뜨고 안되면...

dependencies{

    implementation files('libs/abc.aar')

}


그래도 안된다면.

arr 파일을 복사해서 libs 폴더에 붙여 넣습니다

Ctrl+Shift+Alt+S ->dependencies -> app -> +클릭 -> jar Dependency ->선택



참조 : https://devkimgoon.tistory.com/56 




Jar이 아닌 폴더형식 추가하기.


implementation project(':xxxxx')
implementation files('../xxxxx/libs/core.jar')



Caused by: org.gradle.api.UnknownProjectException: Project with path ':xxxxxx' could not be found in project ':app'.


이렇게 시부렁 거리면 settings.gradle 에서 아래처럼 추가

include ':app', 'xxxxxx' 





제작방법 -> 순수Library


  1. File > New > New Module을 클릭합니다.
  2. 나타나는 Create New Module 창에서 Android Library, Next를 차례로 클릭합니다.

    일반적인 JAR 파일을 빌드하는 Java 라이브러리를 생성하는 옵션도 있습니다. JAR 파일은 많은 프로젝트에서, 특히 다른 플랫폼과 코드를 공유하려는 경우 유용하지만, 이 파일은 Android 프로젝트에서 코드를 재사용할 때 매우 유용한 Android 리소스 또는 manifest 파일을 포함할 수 없습니다. 따라서 이 가이드에서는 Android 라이브러리 생성에 대해 중점적으로 설명합니다.

  3. 라이브러리에 이름을 지정하고 라이브러리의 코드를 위한 최소 SDK 버전을 선택한 후 Finish를 클릭합니다.
  4. 소스를 제작
  5. Gradle-> Task -> build -> assemble (그림참조)




참조 : https://developer.android.com/studio/projects/android-library?hl=ko




제작방법 Module -> Library


1. 평소처럼 새로운 안드로이드 프로젝트를 생성한다. 

2. 라이브러리화 할 소스를 추가한다.

3. manifest에서 필요없는 내용을 지운다. 블루투스 라이브러리의 경우 아래 정도의 정보만 남아있으면 됌.

<?xml version="1.0" encoding="utf-8"?>

<manifest package="com.woochan.testsdk" /> 

4. res 폴더에서 필요없는 모든 파일들을 지운다(중요. 지우지 않을경우 라이브러리를 임포트 시킨 프로젝트에서 파일 충돌이 날 수 있음)

5. app 수준의 그래들에서 com.android.application을 com.android.library로 바꾼다. 그리고 applicationId를 삭제한다


apply plugin: 'com.android.library'

android {

    compileSdkVersion 28

    defaultConfig {

        applicationId "com.lifesemantics.caresenssdk" // 삭제

        minSdkVersion 19

        targetSdkVersion 28

        versionCode 1

        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"


6. 필요없는 test들을 전부 삭제한다. gradle에서 implement한 내용도 전부 지운다.

7. 안드로이드 스튜디오 오른쪽 상단 바로 아래에 Gradle 탭을 열어 Run Gradle Task 아이콘을 누르고, Command line에 assembleRelease를 넣고 빌드한다.

8. 생성된 빌드 파일은 build/outputs/aar 에서 찾을 수 있다.



참조 : https://woochan-dev.tistory.com/20


<목차로 돌아가기>


반응형