2015년 9월 9일 수요일

Android Studio Jar 파일 Export

class.jar 파일을 원하는 이름으로 변경하고
R.class 파일도 포함해서 Jar 파일로 압축한다.

Unity에서 사용할 Jar파일인데 문제는 없지만

AAR 패키지를 이용하는 걸 참고하는게 좋을 듯 하다.(유니티 5부터 가능)





apply plugin: 'com.android.library'
def sep = File.separatordef outAbsoluteDir = "${project.buildDir.absolutePath}${sep}intermediates${sep}webView${sep}classes${sep}release"def outJarAbsoluteDir = "${project.buildDir.absolutePath}${sep}intermediates${sep}webView"def projectSrcPath = "${projectDir.absolutePath}${sep}release"
android {
    compileSdkVersion 23    buildToolsVersion "23.0.0"
    defaultConfig {
        //applicationId "com.blackcoffee.delta.webview"        minSdkVersion 8        targetSdkVersion 23        versionCode 1        versionName "1.0"    }
    buildTypes {
        release {
            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'}

task buildExportJar(dependsOn: 'assembleRelease'){

    delete "${project(':app').projectDir.absolutePath}" + "${sep}release${sep}WebView.jar"    delete fileTree(dir: outAbsoluteDir, include: "*")
    mkdir outAbsoluteDir

    def openJar = project.rootProject.file('app/build/intermediates/bundles/release/classes.jar')

    ant.unzip(src: openJar.absolutePath, dest: outAbsoluteDir)

    copy {
        from "${project(':app').projectDir.absolutePath}" + "${sep}build${sep}intermediates${sep}classes${sep}release"        into outAbsoluteDir
        include '**/*.class'    }

    project.exec {
        commandLine 'jar'        args 'cf'        args "${outJarAbsoluteDir}${sep}WebView.jar"        args '-C'        args outAbsoluteDir
        args '.'    }

    copy {
        from outJarAbsoluteDir
        include 'WebView.jar'        into projectSrcPath
    }
}

댓글 없음:

댓글 쓰기