πŸ’š 개발/μ•ˆλ“œλ‘œμ΄λ“œ

[μ•ˆλ“œλ‘œμ΄λ“œ] AAR(Android Archive) ν…ŒμŠ€νŠΈ ... 2

devshin.kr 2021. 8. 12. 15:55
728x90

2021.08.12 - [개발/μ•ˆλ“œλ‘œμ΄λ“œ] - [μ•ˆλ“œλ‘œμ΄λ“œ] AAR(Android Archive) λ§Œλ“€κΈ° ... 1

 

[μ•ˆλ“œλ‘œμ΄λ“œ] AAR(Android Archive) λ§Œλ“€κΈ° ... 1

JAR (Java Archive) JARλŠ” ν•΄λ‹Ή ν”Œλž«νΌμ—μ„œ JAVA μ‘μš©ν”„λ‘œκ·Έλž¨μ„ λ°°ν¬ν•˜κΈ° μœ„ν•΄ κ³ μ•ˆλœ νŒ¨ν‚€μ§€ 파일 ν˜•μ‹μ΄λ‹€. 컴파일된 Java클래슀 파일과, MANIFEST 같은 νŒŒμΌλ“€μ΄ ν¬ν•¨λœλ‹€. 기본적으둜 ZIP μ•„μΉ΄μ΄λΈŒ ν˜•

devshin93.tistory.com

이전 μž₯μ—μ„œ μ΄μ–΄μ„œ 계속...

 

1. 라이브러리λ₯Ό μ‚¬μš©ν•  μƒˆ ν”„λ‘œμ νŠΈλ₯Ό 생성

 

2. setting.gradle에 이전 μž₯μ—μ„œ μƒμ„±ν•œ λͺ¨λ“ˆμ„ μΆ”κ°€

κΈ°μ‘΄ setting.gradle (AARTest)

rootProject.name = "AARTest"
include ':app'

 

μˆ˜μ • ν›„ setting.gradle (AARTest)

rootProject.name = "AARTest"
include ':app', ':aarlib'
project(':aarlib').projectDir = new File("D:/AARLib")

 

 

 

3. build.gradle (:app) 의 dependencies 에 implementation project(":aarlib") μΆ”κ°€

plugins {
    id 'com.android.application'
}

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig {
        applicationId "com.devshin93.aartest"
        minSdkVersion 21
        targetSdkVersion 30
        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
    }
}

dependencies {

    implementation 'androidx.appcompat:appcompat:1.3.1'
    implementation 'com.google.android.material:material:1.4.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'

	// μ—¬κΈ°!
    implementation project(":aarlib")
}

 

 

 

4. Sync Now 클릭!

μ΄λ ‡κ²Œ aarlib λͺ¨λ“ˆμ΄ μΆ”κ°€ λœλ‹€. →

 

 

 

5. ν…ŒμŠ€νŠΈ

MainActivity.java μ—μ„œ λͺ¨λ“ˆμ— 있던 Calculate 클래슀의 add λ©”μ„œλ“œλ₯Ό 호좜

package com.devshin93.aartest;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import com.devshin93.aarlib.Calculate;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Calculate calculate = new Calculate();
        System.out.println( calculate.add(1, 2) );
    }
}