Android APK paketleri

APK paketi oluşturma

APK paketi oluşturmak için hedef türünü yayın sürümleri için apk, hata ayıklama yapıları için apk-debug veya taklitçide çalıştırmak üzere sürüm modu yapıları için apk-emulator olarak ayarlayarak ADT package komutunu kullanın.

adt     -package 
                                -target apk 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                myApp.swf icons

Tüm komutu tek bir satıra yazın; yukarıdaki satır sonları yalnızca okumayı kolaylaştırmak için verilmiştir. Ayrıca, örnek ADT aracının yolunun komut satırı kabuğunuzun yol tanımında olduğunu varsayar. (Yardım için bkz. Path ortam değişkenleri.)

Komutu uygulama dosyalarını içeren dizinden çalıştırmalısınız. Örnekteki uygulama dosyaları myApp-app.xml (uygulama tanımlayıcı dosyası), myApp.swf ve bir simgeler dizinidir.

Komutu gösterildiği şekilde çalıştırdığınızda ADT sizden anahtar deposu şifresini ister. (Yazdığınız şifre karakterleri görüntülenmez; yazmanız bittiğinde Enter tuşuna basın.)

Not: Varsayılan olarak, tüm AIR Android uygulamalarının paket adında air. ön eki bulunur. Bu varsayılan davranıştan vazgeçmek için bilgisayarınızda AIR_NOANDROIDFLAIR ortam değişkenini true olarak ayarlayın.

Yerel uzantıları kullanan bir uygulama için APK paketi oluşturma

Yerel uzantılar kullanan bir uygulama için APK paketi oluşturmak üzere normal paketleme seçeneklerinin yanı sıra -extdir seçeneğini de ekleyin. Kaynakları/kitaplıkları paylaşan birden çok ANE'nin olduğu durumlarda ADT yalnızca tek bir kaynağı/kitaplığı seçer ve bir uyarı vermeden önce yinelenen girişleri yok sayar. Bu seçenek uygulamanın kullandığı ANE dosyalarını içeren dizini belirtir. Örneğin:

adt     -package 
                                -target apk 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                -extdir extensionsDir 
                                myApp.swf icons

AIR çalışma zamanının kendi sürümünü içeren bir APK paketi oluşturma

Hem uygulamayı hem de AIR çalışma zamanının sabit sürümünü içeren bir APK paketi oluşturmak için apk-captive-runtime hedefini kullanın. Bu seçenek uygulamanın kullandığı ANE dosyalarını içeren dizini belirtir. Örneğin:

adt     -package 
                                -target apk-captive-runtime 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                myApp.swf icons

Bu tekniğin olası dezavantajları şunlardır:

  • Önemli güvenlik düzeltmeleri, Adobe bir güvenlik yamasını yayınladığında kullanıcılar tarafından otomatik olarak kullanılabilir durumda olmaz

  • Uygulamanın daha fazla RAM kullanmasına neden olur

Not: Çalışma zamanını paketlediğinizde ADT, INTERNET ve BROADCAST_STICKY izinlerini uygulamanıza ekler. Bu izinleri AIR çalışma zamanı gerektirir.

Bir hata ayıklama APK paketi oluşturma

Uygulamanın hata ayıklayıcıyla birlikte kullanabileceğiniz bir sürümünü oluşturmak için hedef olarak apk-debug öğesini kullanın ve bağlantı seçenekleri belirtin:

adt     -package 
                                -target apk-debug 
                                -connect 192.168.43.45 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                myApp.swf icons

-connect bayrağı aygıttaki AIR çalışma zamanına ağ üzerinde uzak hata ayıklayıcıya nerede bağlanacağını söyler. USB üzerinden hata ayıklamak için, bunun yerine hata ayıklama bağlantısı için kullanmak üzere TCP bağlantı noktası belirterek -listen bayrağını belirtmeniz gerekir:

adt     -package 
                                -target apk-debug 
                                -listen 7936 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                myApp.swf icons

Çoğu hata ayıklama özelliğinin çalışması için hata ayıklama etkinken uygulama SWF ve SWC'lerini de derlemeniz gerekir. -connect ve -listen bayraklarının tam açıklaması için bkz. Hata ayıklayıcı bağlantısı seçenekleri.

Not: Varsayılan olarak ADT, Android uygulamanızı apk-debug hedefiyle paketlerken uygulamayla birlikte AIR çalışma zamanının sabit bir kopyasını paketler. ADT'yi harici çalışma zamanı kullanan bir APK oluşturmaya zorlamak için AIR_ANDROID_SHARED_RUNTIME ortam değişkenini true olarak ayarlayın.

Android'de, ağ üzerinde hata ayıklayıcıyı çalıştıran bilgisayara bağlanabilmesi için uygulamanın İnternet'e erişim izni olması gerekir. Bkz. Android izinleri.

Android taklitçisinde kullanmak için APK paketi oluşturma

Android taklitçisinde hata ayıklama APK paketi kullanabilirsiniz ancak sürüm modu paketi kullanamazsınız. Taklitçide kullanmak için sürüm modu APK paketi oluşturmak üzere hedef türünü apk-emulator olarak ayarlayarak ADT package komutunu kullanın:

adt -package -target apk-emulator -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp-app.xml myApp.swf icons

Örnek, ADT aracının yolunun komut satırı kabuğunuzun yol tanımında olduğunu varsayar. (Yardım için bkz. Path ortam değişkenleri.)

AIR veya AIRI dosyasından APK paketi oluşturma

Varolan bir AIR veya AIRI dosyasından doğrudan APK paketi oluşturabilirsiniz:

adt -target apk -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp.air

AIR dosyası, uygulama tanımlayıcı dosyasında AIR 2.5 (veya üstü) ad alanını kullanmalıdır.

Android x86 platformu için APK paketi oluşturma

AIR 14'ten itibaren -arch argümanı Android x86 platformu için bir APK paketlemek üzere kullanılabilir. Örneğin:

    adt     -package 
                                -target apk-debug 
                                -listen 7936 
                                -arch x86 
                                -storetype pkcs12 -keystore ../codesign.p12 
                                myApp.apk 
                                myApp-app.xml 
                                myApp.swf icons