2011-03-11 15 views

cevap

38

Bunu, Android manifest'indeki bilgileri kullanarak otomatik bir şekilde yaptım.

Benim yaklaşımım SDK'nın en son sürümünde, <SDK>/tools/ant/build.xml bulunmaktadır yerel dosyaya aktarılır ana dosya usta build.xml dosyanın özel kopyasını almak için yerel proje Gökçe build.xml dosyayı değiştirmek olan (android_rules oldu Önceki sürümlerde .xml) Projenize yerel varsayılan build.xml dosyasındaki import satırını not edin.

Android araçların oluşturduğu yerel build.xml'daki yorumlar, araçların gelecekteki güncelleştirmelerinin değişikliklerinizi etkilemeyeceği şekilde özelleştirmenin nasıl yapılacağına ilişkin ayrıntıları içerir. özel kurallar dosyasindakini eklemek

:

<xmlproperty file="AndroidManifest.xml" prefix="mymanifest" collapseAttributes="true"/> 

Bu, özel bir önek ile, karınca özellikler kümesi olarak tezahür içinde okur hiçbir isim çarpışma sağlamak için.

Daha sonra sadece özel kurallar dosyasında .apk aramak $ {mymanifest.manifest.android:versionName} apk adı tanımlanır noktalar herhangi, ekleyebilir.

Sürüm oluşturma dosyalarını bir yapı sunucusundan otomatikleştirmek için bu işlemi kullanmıştım.

Bazı ek ince ayarlarla, bırakma uygulamanızın otomatik olarak imzalanmasını, parolaların özelliklerde ayarlanmasını ve imzalama görevinde bunları kullanmasını sağlamanız da mümkündür. Yalnızca yapı sunucusunda yaşayan ayrı bir özellik dosyasında saklanan gerçek şifreler. Küçük bir güvenlik riski olsa da, bazı durumlarda tam uçtan uca inşa otomasyonuna ihtiyaç duyulmaktadır.

+0

Teşekkürler. Öneriniz iyi çalışıyor. Benim build.xml yorumlar aşağıdaki çizgilerle biraz adamcağız: kurallar dosya yerine 'android_rules.xml' dahil /platforms//templates/android_rules.xml ithal edilir, ' /tools/ant/ant_rules_r3.xml' eklemelisiniz. Aksi halde yapı başarısız olur. –

+0

Eclipse APK ihracatıyla bunu otomatikleştirmenin bir yolu var mı? – Sney

+0

Bildiğim kadarıyla değil. ANT, otomasyon inşa ettiğiniz yer olmayı amaçlamaktadır. ADT ekibine bir özellik isteği olarak yazabilirsiniz. – cistearns

-4

Evet, herhangi bir isimle bir apk dosyası oluşturmanın bir yolu var, size bir süreç veriyorum, bu işlemi gerçekleştirdiğinizde .apk adınızı yazınız.

1-Sağ paketin explorer uygulamasında üzerine tıklayın. 2-Seçme dışa aktarma. 3-seçmek Android 4-İhracat Android uygulamasını seçin. 5-Yeni anahtar deposu oluşturun. 6- formu doldurun. 7-: apk dosyasını isim verin Ne istiyorsun 8-: apk dosyasını mağazaya koy.

Ardından sorunun çözümünü bulabilirsiniz. Umarım bu yardımcıdır.

+0

Üzgünüz, ama eclipse IDE yerine 'karınca' komutunu zorlukla kullanmak istiyorum. Şu anda tutulma kullanmıyorum. –

+1

Ayrıca soruyu yanlış anladığınızı düşünüyorum, asker dosya numarasına otomatik olarak numaranın eklenmesini istiyor. – Peterdk

9

Başka bir Android benzeri çözüm, XPATH görevini $ {sdk.dir}/tools/ant/build dizininde yapıldığı gibi kullanmaktır.xml:

<xpath input="AndroidManifest.xml" expression="/manifest/@android:versionName" 
         output="versionName" default="unknown"/> 
<echo message="name: ${versionName}"></echo> 

Bu görevin tanımını gerektirir:

<path id="android.antlibs"> 
    <pathelement path="${sdk.dir}/tools/lib/anttasks.jar" /> 
</path> 

<taskdef name="xpath" 
     classname="com.android.ant.XPathTask" 
     classpathref="android.antlibs" /> 

Ben asgari SDK sürümü olan bilmiyorum ama SDK14 ile çalışır.

Selamlar, aşağıdaki yayınında açıklandığı Michael

+0

+1 versionName'i apk ismine entegre etmeme yardımcı oldu karınca tarafından inşa – AgentKnopf

+0

Bu kesinlikle bunu yapmak için doğru yoldur. –

İlgili konular