APK 패키지 만들기
APK 패키지를 만들려면 대상 유형을 릴리스 빌드에 대해
apk
로, 디버그 빌드에 대해
apk-debug
로 또는 릴리스 모드 빌드에 대해
apk-emulator
로 설정하는 ADT package 명령을 사용하십시오.
adt -package
-target apk
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
한 행에 전체 명령을 입력합니다. 위 예제의 행 분리는 읽기 쉽게 표시하기 위한 것일 뿐입니다. 또한 이 예제에서는 ADT 도구의 경로가 명령줄 셸의 경로 정의에 있다고 가정합니다. 도움말은
path 환경 변수
를 참조하십시오.
응용 프로그램 파일이 들어 있는 디렉토리에서 명령을 실행해야 합니다. 이 예제의 응용 프로그램 파일은 myApp-app.xml(응용 프로그램 설명자 파일), myApp.swf 및 icons 디렉토리입니다.
표시된 것과 같은 명령을 실행하면 ADT에서 키 저장소 암호를 묻습니다. 입력하는 암호 문자는 표시되지 않습니다. 암호 문자를 표시하려면 입력을 마치고 Enter 키를 누르면 됩니다.
참고:
기본적으로 모든 AIR Android 응용 프로그램의 패키지 이름에는
air.
접두어가 있습니다. 이 기본 비헤이비어를 옵트아웃하려면 해당 컴퓨터에서 환경 변수
AIR_NOANDROIDFLAIR
를
true
로 설정하십시오.
기본 확장을 사용하는 응용 프로그램용 APK 패키지 만들기
기본 확장을 사용하는 응용 프로그램에 대한 APK 패키지를 만들려면 일반적인 패키지 옵션 외에
-extdir
옵션을 추가합니다. 리소스/라이브러리를 공유하는 여러 ANE의 경우, 경고를 발생시키기 전에 ADT가 단일 리소스/라이브러리만 선택하고 다른 중복 항목은 무시합니다. 이 옵션은 응용 프로그램에 사용되는 ANE 파일이 포함된 디렉토리를 지정합니다. 예를 들면 다음과 같습니다.
adt -package
-target apk
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
-extdir extensionsDir
myApp.swf icons
고유한 버전의 AIR 런타임이 포함된 APK 패키지 생성
응용 프로그램과 전용 버전의 AIR 런타임이 모두 포함된 APK 패키지를 만들려면
apk-captive-runtime
대상을 사용합니다. 이 옵션은 응용 프로그램에 사용되는 ANE 파일이 포함된 디렉토리를 지정합니다. 예를 들면 다음과 같습니다.
adt -package
-target apk-captive-runtime
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
이 방법 사용 시 발생할 수 있는 단점에는 다음이 포함됩니다.
참고:
런타임을 하나로 묶는 경우 ADT에서는 응용 프로그램에
INTERNET
및
BROADCAST_STICKY
권한을 추가합니다. 이러한 권한은 AIR 런타임에 필요한 권한입니다.
디버그 APK 패키지 만들기
디버거와 함께 사용할 수 있는 응용 프로그램 버전을 만들려면 apk-debug를 대상으로 사용하고 연결 옵션을 지정하십시오.
adt -package
-target apk-debug
-connect 192.168.43.45
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
-connect 플래그는 네트워크를 통해 원격 디버거에 연결할 장치의 AIR 런타임을 알려 줍니다. USB를 통해 디버깅하려면 디버그 연결에 사용할 TCP 포트를 지정하는
-listen
플래그를 대신 지정해야 합니다.
adt -package
-target apk-debug
-listen 7936
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
대부분의 디버깅 기능이 작동하도록 하려면 디버깅을 사용한 상태로 응용 프로그램 SWF 및 SWC도 컴파일해야 합니다.
디버거 연결 옵션
에서
-connect
및
-listen
플래그에 대한 전체 설명을 참조하십시오.
참고:
기본적으로 ADT는 apk-debug 대상과 함께 응용 프로그램을 패키지화하는 동안 Android 응용 프로그램과 함께 AIR 런타임의 전용 복사본을 패키지화합니다. ADT가 외부 런타임을 사용하는 APK를 강제로 만들도록 하려면
AIR_ANDROID_SHARED_RUNTIME
환경 변수를
true
로 설정하십시오.
Android에서는 응용 프로그램이 네트워크를 통해 디버거를 실행 중인 컴퓨터에 연결하려면 응용 프로그램도 인터넷에 대한 액세스 권한을 가지고 있어야 합니다.
Android 권한
을 참조하십시오.
Android 에뮬레이터에서 사용할 APK 패키지 만들기
Android 에뮬레이터에서 디버그 APK 패키지를 사용할 수 있지만 릴리스 모드 패키지는 사용할 수 없습니다. 에뮬레이터에서 사용할 릴리스 모드 APK 패키지를 만들려면 ADT package 명령을 사용하여 대상 유형을
apk-emulator
로 설정하십시오.
adt -package -target apk-emulator -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp-app.xml myApp.swf icons
이 예제에서는 ADT 도구의 경로가 명령줄 셸의 경로 정의에 있다고 가정합니다. 도움말은
path 환경 변수
를 참조하십시오.
AIR 또는 AIRI 파일로부터 APK 패키지 만들기
기존 AIR 또는 AIRI 파일로부터 APK 패키지를 바로 만들 수 있습니다.
adt -target apk -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp.air
AIR 파일은 응용 프로그램 설명자 파일에서 AIR 2.5 이상의 네임스페이스를 사용해야 합니다.
Android x86 플랫폼용 APK 패키지 만들기
AIR 14부터는
-arch
인수를 사용하여 Android x86 플랫폼용 APK를 패키지화할 수 있습니다. 예를 들면 다음과 같습니다.
adt -package
-target apk-debug
-listen 7936
-arch x86
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons