배포할 Android Jar 라이브러리 만들기
나는 안드로이드 라이브러리 프로젝트에 대해 알고 있는데, 그것은 당신이 필요에 따라 안드로이드 어플리케이션으로 끌어들이기 가능한 공유 소스 프로젝트를 만들 수 있게 해준다.그러나, 그것은 그 원천을 이용할 수 있어야 한다.
기존의 JAR처럼 다른 안드로이드 프로젝트에서 사용할 수 있는 폐쇄형 소스 라이브러리를 만들어 배포하는 방법을 찾고 있다.이것은 안드로이드 컴파일러를 사용해야 하므로 바닐라-자바 JAR 파일은 아니다.FWIW, 나는 JAR에 자원/레이아웃을 내장할 필요가 없다.
나는 http://andparcel.com/을 본 적이 있지만, 그것은 해결책처럼 느껴지고, 나는 차라리 구글이 지원하는 어떤 것을 사용하고 싶다.또한 내가 구축한 JAR이 Android SDK의 이전/신규 버전과 호환되는지 확인해야 한다(즉, 타깃 플랫폼 버전을 설정하는 방법 등이 필요하다).
최신 Android 도구 세트를 사용하여 JAR 바이너리를 생성/사용할 수 있는가?내가 그것을 어떻게 할 수 있는지에 대한 몇 가지 서류를 가리켜 주시겠습니까?
리소스 없이 Android Library 프로젝트를 생성하면 ADT(r16에서 처음 알림)는 'bin' 폴더에 프로젝트와 이름이 같은 .jar를 생성한다.
안드로이드는 특별한 종류의 안드로이드-JAR을 제공하지 않는다.하지만 당신이 할 수 있는 것은 당신의 프로젝트에 build.xml을 추가하고 개미와 함께 JAR을 만드는 것이다.
내 build.xml은 다음과 같다.
<project name="MyAndroidLib" default="dist" basedir=".">
<description>
This is my Android lib
</description>
<!-- set global properties for this build -->
<property name="src" location="src" />
<property name="bin" location="bin" />
<target name="jar">
<jar destfile="MyAndroidLib.jar" basedir="bin/classes/">
<!-- replace 'com' by what ever you are using -->
<!-- as first part of the package name -->
<!-- e.g. de, org, ... -->
<!-- the ** is important to include the directory recursively -->
<include name="com/**" />
</jar>
</target>
</project>
을 한다.ant jar
프로젝트 기본 폴더로 이동하십시오.
당신은 "일반적인" Java 프로젝트를 만들고 거기서 Android.jar를 가져올 수 있다.그러면 SDK의 모든 구성 요소에 액세스할 수 있게 된다.그러면 프로젝트를 jar로 내보낼 수 있고...Android 앱에서 로드하십시오.이것은 효과가 좋으며 그것을 하기 위한 아주 간단한 방법인 것 같다.
단지 당신이 항아리를 만들고 싶은 프로젝트의 속성으로 가십시오.Android 탭을 클릭하고 Is 라이브러리에서 체크 표시를 누르십시오.이제 당신은 bin 폴더에서 .jar 파일을 볼 수 있다. 당신이 사용하고 싶은 곳에서 그것을 사용한다.
구글이 '공식적으로 지원하는' 해법은 도서관 프로젝트뿐이며, 소스 코드를 배포해야 한다.일반적인 방법으로 JAR을 생성할 수 있지만 JAR에 리소스를 포함하거나 참조할 수는 없다.
불행히도 나는 소스코드 요건을 충족시키기 위한 수단으로 도서관 프로젝트에 포장된 JAR을 포함시키는 것도 불가능하다고 생각한다.
안드로이드 스튜디오 1.2의 최신 빌드에서는 JAR 라이브러리를 포인트와 클릭만큼 간단하게 만들었다.
수행할 단계:
- Goto 파일 -> 새 모듈 -> 새 모듈
- 옵션 목록 끝에 있는 "Java 라이브러리" 선택
- jar lib 이름과 클래스 이름을 입력하고 마침 버튼을 누르십시오.
- 그만해!
다음 단계는 Jar Library를 앱에 종속성으로 추가하는 것이다.간단하다.
- Goto 파일 -> 프로젝트 구조 -> 'app' 선택 -> '의존성' 선택
- 하단의 '+' 선택 -> '모듈 종속성' 선택
- 방금 만든 jar lib 모듈을 선택하십시오.
- OK를 선택하면 끝!
....아니면 아래 줄을 앱 그라들 파일에 추가하기만 하면 된다.
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar']) // Default Gradle Task, should be already present
compile 'com.android.support:appcompat-v7:21.0.3' // Default Gradle Task, should be already present
compile project(':nameOfYourJarLibraryModule') // This is your jar library module
}
구글은 지원되는 JAR이 안드로이드 스튜디오로 돌아오는데도 안드로이드 아카이브(AAR)를 홍보하고 있다.AAR과 JAR의 차이점을 알아보려면 이 링크를 참조하십시오.
다음을 시도해 보십시오.이것은 효과가 있다.
1) IsLibrary 플래그를 선택 취소하여 라이브러리 프로젝트를 일반적인 프로젝트로 만드십시오.
2) Android 애플리케이션으로 프로젝트를 실행하십시오.(오류 표시 안 함)
3) .apk와 함께 bin 폴더에서 .jar 파일을 찾을 수 있을 것이다.
4) 도서관을 사용하려는 .jar를 주십시요.
5) 제작 경로에 외부 항아리만 가져오라고 한다.
이것은 모든 자원과 잘 어울릴 것이다.행운을 빌어요.
ADT는 프로젝트의 모든 일치하는 소스 파일과 디렉터리에 대한 모든 클래스 파일을 포함하는 bin 폴더를 생성하며, jar 명령을 사용할 수 있으며, 이러한 클래스 파일과 디렉터리를 포함하는 jar 아카이브와 라이브러리를 추정할 수 있지만, 물론 클래스 파일 플랫폼 수준은 현재 수준의 p에만 대상으로 할 수 있다.로젝트 빌드- 당신은 각 플랫폼 레벨에 대해 다른 jar 파일이 필요할 것이다. 그러나 이것의 좋은 점은 R.class 파일이 프로젝트 디렉토리 트리에 포함되어 있어서 당신은 그 자원에 접근할 수 있다는 것이다.이것이 안드로이드에서 일을 하는 공식적인 방법인지는 모르겠지만, 나에게는 효과가 있었다.
본 프로젝트에서는 /system/framework에 설치되어 기본 클래스 경로에 이 apk를 추가한 apk(apkbuilder 사용)를 만들고 있다.항아리를 이용한 어플리케이션의 컴파일을 위해 (항아리 c를 이용한) 항아리 파일을 만들고 있다.
참고: 우리는 도서관에 어떤 자료도 가지고 있지 않다.
.jar는 .class 파일이 들어 있는 .zip 파일일 뿐이다(어떤 .jar 파일의 확장자도 .zip으로 변경해보고 결과를 볼 수 있다).어떤 목적으로든 .jar 라이브러리를 만들려면 .class 파일을 압축하십시오.
단계:
1) 오픈파일 project.properties
2) 부가가치android.library=true
3) 파일 저장
4) 프로젝트의 일식 메뉴에서 자동으로 빌드를 선택한 후 Clean을 선택한다.
결과 : 새 항아리는 쓰레기통 아래에 만들어진다.
참조URL: https://stackoverflow.com/questions/5014128/create-an-android-jar-library-for-distribution
'Programing' 카테고리의 다른 글
부츠랩 캐러셀이 장착된 VueJS 이미지 캐러셀에 전달 방법 (0) | 2022.05.07 |
---|---|
사이트를 나갈 때 vuex 저장소에 액세스하는 방법 (0) | 2022.05.07 |
Vue 또는 Axios 세션 쿠키 저장 안 함 (0) | 2022.05.07 |
int 포인터 '++'가 1이 아니라 4가 증가하는 이유는? (0) | 2022.05.06 |
기본적으로 모든 Java 애플리케이션이 사용할 수 있는 Java Keystore로 자체 서명된 인증서를 가져오는 방법 (0) | 2022.05.06 |