마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Android studio에서 Jar파일 만들기 (라이브러리에 포함된 모듈이 안읽어짐)

0 추천

안녕하세요.

라이브러리 프로젝트가 있습니다.

이 프로젝트는 모듈을 하나 가지고 있습니다.

gradle에 속성을 바꿔주고 exportJar task를 만들어 실제 Jar파일도 만들어지고 있습니다.

그런데 그렇게 만들어진 라이브러리를 사용해보면

라이브러리 내에 포함된 모듈의 클래스에 접근할 때 ClassNotFoundException이 발생합니다.

 

혹시 속성에서 모듈관련 추가해야할게 있나요 ??

 

현재 gradle파일 셋팅은 아래와 같습니다.

apply plugin: 'com.android.library'
dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile project(':my_module')
}
task exportJar(type: Copy) {
    from('build/intermediates/bundles/release/')
    into('release/')
    include('classes.jar')
    ///Give whatever name you want to give
    rename('classes.jar', 'AutoConstruct.jar')
}
음무 (17,820 포인트) 님이 2015년 11월 24일 질문

1개의 답변

+1 추천
질문하신 내용만 봐서는 라이브러리의 결과로 나오는 게 AutoConstruct.jar파일일거구요.

그 파일을 참조하는 다른 앱을 만들었는데, 그 앱에서 저 jar안의 클래스를 찾지 못한다는 말씀이신가 보네요.

그 앱에서 저 jar를 어떻게 참조하고 있나요?

어떤 클래스던지 못 찾는다면 참조에 문제가 있을 가능성이 커 보입니다.

올려주신 내용만으로는 저는 이 정도 밖에 모르겠습니다.
cc1232 (35,280 포인트) 님이 2015년 11월 24일 답변
jar 안에 모듈이 2개가 있습니다. 기본 프로젝트와 추가한 모듈 이렇게 2개인데
기본 프로젝트의 클래스는 다 읽습니다. import도 되고요
근데 jar프로젝트 안에 추가한 모듈을 못읽네요 ..
결국 모듈에 있는것들을 메인 프로젝트로 다 옮겨서 적용했습니다
jar파일은 그냥 압축파일이니까, 다른 압축 유틸로 jar를 열어보세요. 거기에 제대로 원하는 클래스들이 있는지 확인가능할 것 같은데요. 원하는 클래스가 없다면 jar생성 부분에 문제가 있는게 확실한거죠
...