Apache ant
dosyasını kullanarak Android
uygulamasının iki versiyonunu oluşturmak istiyorum. Sorun, her iki versiyonun, lite versiyonundaki reklam haricinde aynı olmasıdır. build
hata ayıklama sürümleri ile Configurations
kullanarak karınca okuyun.Android Ant İnşa et
Aşağıdaki sınıf, uygulama içinde başvurulan bazı sabitleri tanımlar. Burada
public class Config {
// Whether or not to include logging in the app.
public final static boolean LOGGING = true;
}
Ve
günlüğü etkin olup olmadığını belirlemek için bu sabitleri nasıl kullanılacağına ilişkin bir örnektir.if (Config.LOGGING) {
Log.d(TAG, "[onCreate] Success");
}
Şimdi özellikler dosyamda günlük kaydını etkinleştirebilir ve devre dışı bırakabilirim. Çünkü ikinci bir yapılandırma dosyası oluşturmak ve filterset
ve kopyasını kullanmak ben bu yapılandırma kullanmadan önce, çalışmıyor
# Turn on or off logging.
config.logging=true
. Oldukça kolay, ama ben ve reklam olmadan benim uygulamanın iki versiyonunu oluşturmak için kullanabilir nasıl
public class Config {
// Whether or not to include logging in the app.
public final static boolean LOGGING = @[email protected];
}
. Ve paket isimlerini karınca kullanarak nasıl değiştirebilirim, bu nedenle android market
her iki paketi de (Tam ve Lite) kabul eder.
Önerileriniz için teşekkür ederim, ancak hala bazı sorunlarım var.
ben temizleme benim oluşturur ve iki klasör/tam ve/lite uygulama oluşturmak için gerekli tüm dosyaları kopyalamak bazı temel hedefleri yazmayı başardı. Yani aynı içeriğe sahip iki dizinim var. Şimdi tüm * .java dosyalarında ve AndroidManifest dosyasında (hedef hazırlığı) tüm uygulamalar paket adlarını yeniden adlandırıyorum.İki farklı sürümü gerçekten oluşturmak için, kodu ilk gönderimden eklemem gerekiyor. Ancak bunu nasıl yapmalıyım ve sürüm sürümüne her iki sürümü nasıl oluşturabilirim ve sonuçta ortaya çıkan * .apk dosyalarını yapı direktörüne yazabilirim?
Nihayet ... Android market tarafından kabul edilen * .apkları çalıştırmak için tek yapmam gereken bu muydu?
<?xml version="1.0" encoding="UTF-8"?>
<project name="my.application" default="help" basedir=".">
<!-- Load the custom property files -->
<property file="build.properties" />
<property file="passwords.properties" />
<!-- Set global properties for this build -->
<property name="my.application.pkg" value="my.application"/>
<property name="my.application.pkg.full" value="my.application.full"/>
<property name="my.application.pkg.lite" value="my.application.lite"/>
<property name="my.application" location="."/>
<property name="my.application.build" location="build"/>
<property name="my.application.src" location="src"/>
<property name="my.application.res" location="res"/>
<property name="my.application.gen" location="gen"/>
<property name="my.application.full" location="full"/>
<property name="my.application.full.src" location="full/src"/>
<property name="my.application.full.res" location="full/res"/>
<property name="my.application.full.gen" location="full/gen"/>
<property name="my.application.full.build" location="full/build"/>
<property name="my.application.lite" location="lite"/>
<property name="my.application.lite.build" location="lite/build"/>
<property name="my.application.lite.src" location="lite/src"/>
<property name="my.application.lite.res" location="lite/res"/>
<property name="my.application.lite.gen" location="lite/gen"/>
<!-- Create and update the local.properties file -->
<loadproperties srcFile="local.properties" />
<!-- Load the ant.properties file -->
<property file="ant.properties" />
<!-- Load the project.properties file -->
<loadproperties srcFile="project.properties" />
<!-- Quick check on sdk.dir. -->
<fail
message="sdk.dir is missing."
unless="sdk.dir" />
<!-- Version-tag: 1 -->
<import file="${sdk.dir}/tools/ant/build.xml" />
<target name="release" depends="report, prepare">
<echo>Building the target!</echo>
</target>
<target name="prepare" depends="cleanup" >
<!-- Copy the Manifest.xml to the full copy -->
<copyfile src="${my.application}/AndroidManifest.xml"
dest="${my.application.full}/AndroidManifest.xml" />
<!-- Copy the source files to the full copy -->
<copy todir="${my.application.full.src}" overwrite="true">
<fileset dir="${my.application.src}" />
</copy>
<!-- Copy the resources to the full copy -->
<copy todir="${my.application.full.res}" overwrite="true">
<fileset dir="${my.application.res}" />
</copy>
<!-- Copy the generated to the full copy -->
<copy todir="${my.application.full.gen}" overwrite="true">
<fileset dir="${my.application.gen}" />
</copy>
<!-- Replace the package name in the full manifest file -->
<replaceregexp file="${my.application.full}/AndroidManifest.xml"
match='package="(.*)"'
replace='package="${my.application.pkg.full}"'
byline="false" />
<!-- Change the package name in all Java files -->
<replaceregexp flags="g" byline="false">
<regexp pattern="${my.application.pkg}" />
<substitution expression="${my.application.pkg.full}" />
<fileset dir="${my.application.full.src}" includes="**/*.java" />
</replaceregexp>
<!-- Copy the Manifest.xml to the lite copy -->
<copyfile src="${my.application}/AndroidManifest.xml"
dest="${my.application.lite}/AndroidManifest.xml" />
<!-- Copy the source files to the lite copy -->
<copy todir="${my.application.lite.src}" overwrite="true">
<fileset dir="${my.application.src}" />
</copy>
<!-- Copy the resources to the lite copy -->
<copy todir="${my.application.lite.res}" overwrite="true">
<fileset dir="${my.application.res}" />
</copy>
<!-- Copy the generated to the lite copy -->
<copy todir="${my.application.lite.gen}" overwrite="true">
<fileset dir="${my.application.gen}" />
</copy>
<!-- Replace the package name in the lite manifest file -->
<replaceregexp file="${my.application.lite}/AndroidManifest.xml"
match='package="(.*)"'
replace='package="${my.application.pkg.lite}"'
byline="false" />
<!-- Change the package name in all Java files -->
<replaceregexp flags="g" byline="false">
<regexp pattern="${my.application.pkg}" />
<substitution expression="${my.application.pkg.lite}" />
<fileset dir="${my.application.lite.src}" includes="**/*.java" />
</replaceregexp>
</target>
<!-- Deletes all directories, not needed anymore after compiling the source files -->
<target name="cleanup">
<!-- Delete the full version build dir -->
<delete dir="${my.application.full}"/>
<!-- Delete the lite version build dir -->
<delete dir="${my.application.lite}"/>
<!-- Delete the *.apk file -->
<delete file="my.application.full.apk"/>
<!-- Delete the *.apk file -->
<delete file="my.application.lite.apk"/>
</target>
</project>
Herhangi bir çözüm buldunuz mu? Aynı konuda sıkışıp kaldım. Bunu çözdüysen lütfen paylaşır mısın? – Mac
Gerçekten değil. Programı hafif bir sürüm olmadan konuşlandırdım. Ama finde bir çalışma çözümü için mutlu olurdum. – Phidelux