2010-12-07 26 views
7

İlk uygulamamı yeni piyasaya sürdüm ve bunun için ücretsiz bir versiyona sahip olmak istiyorum. Ücretsiz sürüm şubemi (svn'de) nasıl yönetmeliyim diye merak ettim, bu yüzden değişikliklerin tamamını tam sürümden birleştirmek kolay mı? Manifest dosyasında paket ismini değiştirmek mümkün mü? ya da paket isimlerinin kod içinde farklı olması mı gerekiyor? Eğer öyleyse Nasıl Değişiklikleri Kolayca Birleştirebilirim?Ücretsiz sürümü nasıl yönetilir?

sayesinde Jason

cevap

1

Eğer gerçekten ücretsiz bir sürümü oluşturmak için farklı bir dalını korumak istiyor musunuz?
Aynı kod tabanını kullanıp, ücretsiz sürümündeki bazı özellikleri #ifdef veya yapılandırma parametreleriyle devre dışı bırakırım.

+0

özelliklerine olanak tanıyan bir bayrağı etkinleştirir. Ancak aynı paket adını iki kere piyasaya gönderemem yine de pazarlayabilir miyim? – Jason

+0

@Jason, Android geliştirmeyi bilmiyorum, ancak paket adının tanımlandığı dosyanın ayrı bir kopyasını saklayamıyor musunuz? –

+0

Sadece manifestoda ise, evet, ama kod paketini değiştirmem gerekirse, bu bir sorun olabilir, sahte bir paket yapmak için önerildim ve manifest dosyasını sadece o sahte pakete değiştirdim. – Jason

2

Uygulamalarım bu kullanın:

public static final boolean LITE_VERSION = true; 

sonra bazı özellikleri devre dışı bırakmak için kullanın.

Eğer LITE_VERSION öğesi true olarak ayarlanmışsa, java derleyicisinin bir kod parçasını (! LITE_VERSION) blokta görmezden geleceğini bilmek önemlidir, bu yüzden ters mühendislik yapılamaz (javap ile test edebilirsiniz) -c "komutu).

+1

Cool teşekkürler, biliyorum, ama yine de paket adı sorunu ile beni bırakır, bu konuda ne yaparsınız? – Jason

+0

iyi .. Ayrıca lisanslama sorunuyla da uğraşıyor. Ücretsiz sürüm lisanslanamaz. Kütüphane gitmek için yoldur – GSree

0

Ant yapıları kullanıyorum. Daha önce how I build two versions of the same app belgeledim. Farklı tezahürlerle nasıl baş edeceğimi tartıştığım son bölüm, muhtemelen sizin için en çok ilgi çekicidir.

+0

Bu yarın eve geldiğimde ilginç okuyacak gibi görünüyor, bu yöntem cretin özellikleri devre dışı bırakmak için izin veriyor mu? – Jason

+0

Cretin özellikleri? :) Her sürüm için farklı manifest dosyaları kullanıyorum. Ayrıca üç ana ağaç (ana, demo ve ortak) kurdum ve üç ağaçtan (ana + ortak ya da demo + ortak) ikisini binadan önce tek bir ağaçta birleştirmek için Ant'i kullanıyorum. –

0

Aynı codebase ve paket adını kullanmaya çalışıyorum ve ekstra bir Uygulama (apk) veya sadece bir seri numarası olabilecek bir premium anahtar sunmaya çalışıyorum. Bu yaklaşım, yükseltmek isteyen kullanıcıların eski verilerini ve ayarlarını kullanabilecekleri olumlu yan etkiye sahiptir. Anahtar, dinamik olarak

İlgili konular