2010-12-16 16 views
28

Bir çekirdek uygulama kitaplığı (tüm mantığa sahip bir kitaplık projesi), ücretsiz bir sürüm) ve bu kitaplığı kullanan tam bir sürüm oluşturmayı düşünüyorum.Kütüphane Projesi manifest dosyası birleştirme yapıyor mu?

Bildirimde bazı şeylerin izinler ve etkinlikler gibi birleşmediğini anladığımdan, sürüm kodu birleştirme yapıyor mu? Hem ücretsiz hem de ücretli sürümlere başvurmak için kütüphaneye tek bir sürüm kodu koyabilir miyim?

İkinci soru şu anki uygulamam (Bir Android kitaplığına dönüştüğüm) bir kütüphaneye bağlı, bu yüzden bir kütüphane kurarsam anladığım kadarıyla bir kütüphaneden kütüphaneye sahip olamazsınız. . Bunu nasıl halledebilirim?

cevap

21

BU ANSWER, ANDROID SDK'NIN DAHA SONRA VERSİYONU İÇİN DOĞRU OLDU, ANCAK BUNU OBSOLE EDİLDİ. SEE Hayes'ın DAHA FAZLA BİLGİ İÇİN DAHA FAZLA BİLGİ.

  1. Kitaplık projesinin bildirim dosyası neredeyse tamamen kullanılmamaktadır. Gerekli olan tek parça, bir paket niteliğindeki açık elemantır. Bir kütüphane projesi için tezahürün kalanının göz ardı edildiğine inanıyorum.

  2. Eylül 2010'da yayımlanan android araçları, bir kitaplık projesine başvuran bir kitaplık projesini desteklemektedir. Docs aksi halde belirtir, ancak eminim ki güncel değiller.

+0

teşekkürler, bu herşeyi daha net hale getirir – jax

+0

Başka bir kitaplığa da başvuran bir kitaplığa başvurmayı denediniz ve işe yaramıyor. Sınıflar çözümlenmiyor. –

+0

Burada kütüphaneden bir kütüphaneye başvurma konusunda hiçbir problemim yok. Belki yanlış bir şey mi yaptın? –

0

Manifest'ler birleştirilmez, ancak Android XML'lerinde bir içerme ifadesinin bulunduğunu hatırlıyorum.

Android SDK IIRC'nin son sürümünde isteğe bağlı düzeydeki kitaplık bağımlılığı tanıtıldı.

+0

SDK'nın en yeni sürümüne sahibim, bu, kütüphanelerden miras kalan kitaplıklara sahip olmanın iyi olduğu anlamına mı geliyor (Keyfi düzey kitaplık bağımlılığı) – jax

+0

Bu belgede "Kitaplık projesinin başka bir kitaplığa başvuramayacağını unutmayın." project " – jax

+0

Sadece başka bir kütüphaneye bağlı olan bir kütüphane yarattı ve inşa etti. Eclipse Ganymede, Android araçları v.0.9.9.v201009221407-60953 (muhtemelen en yeni olanı bile değil). –

42

AndroidManifest.xml birleştirilmesi ADT araçları sürümünde 20 desteklenir: "dahil projenin manifest içine kütüphane projesi tezahür dosyalarını otomatik birleştirilmesi manifestmerger.enabled özelliğiyle etkinleştirin."

http://tools.android.com/download/adt-20-preview

Bunu Eclipse içinde işe gitmek için sürüm 20.0.3 ya da daha yeni gerekecektir. ADT 21 preview için

yayın notları bu yorumu var: "Sabit apaçık birleşme düzgün birleştirilmiş manifest'te kütüphane sınıfları adapte"

Bunun ne anlama geldiğinden emin değilsiniz, ancak birleştirme sorunlarınız varsa kontrol etmeye değer olabilirler.

+2

Bu, 20.0.3'te düzeltildi (en azından benim için). Lütfen tekrar doğrulayın. –

+1

@e_x_p, gerçekten 20.0.3'te çalışıyor gibi görünüyor. – Michael

+1

Asıl cevabın kabul edilmesinden bu yana işler değişti. Bu şu anda Ekim 2012'de olduğu gibi doğru cevap – jamesc

İlgili konular