私は、アンドロイドプロジェクトを2つの異なるアプリケーションに有料で無料でビルドする前に、アンドロイドでgradleを作成し、各製品のフレーバーを文字列に置き換えてください
昨日、値と文字列を変更して大きなミスを犯しました。
私はgradleを使ってアプリケーションを構築する方法を学んでいます。
私のアプリはいくつかの違いがあります。
アプリ名(ちょうどサフィックスを追加する '-Free') - 私*の.javaファイル
// signingConfigsで>値/ string.xmlを
変更フラグがommitedされます。
productFlavors{
free{
packageName "my.app.free"
versionCode 20
signingConfig signingConfigs.freeConfing
copy{
from('/res'){
include '**/*.xml'
}
into 'build/res/'
filter{
String line -> line.replaceAll("android:label=\"@string/app_name\"", "android:label=\"@string/app_name_free\"")
}
}
copy{
from('/src'){
include '**/*.java'
}
into 'build/src/'
filter{
String line -> line.replaceAll("public static final Boolean IS_FULL_VER = true;", "public static final Boolean IS_FULL_VER = false;")
}
}
}
paid{
packageName "my.app.paid"
versionCode 20
signingConfig signingConfigs.paidConfing
}
}
しかし、ビルドされたアプリは全く変更されていません。
私は逃したのですか?
ありがとう: あなたは同じ結果を得るために
buildConfigField
でbuildConfig
を交換する必要があります!今、私は別のmonetizationTypeでビルドすることができます。しかし、私は自分のアプリ名を変更することはできません。私のプロジェクト構造はそれと同じではありません。私のプロジェクトでは、**/src/my/app/**/*。java、/res/values/string.xml**。それはプロジェクト構造ですか?プロジェクトの構造を変更する必要がありますか? –私のプロジェクト構造は、新しいAndroid Studio/Gradleプロジェクト構造です。ドキュメントhttp://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Product-flavorsを参照してください。それはすべてを説明する必要があります。はい、あなたのフォルダを変更する必要があるかもしれませんが、実際にそうするのは難しいことではありません。 android studio用の新しいサンプルプロジェクトを作成し、そのbuild.gradleファイルとディレクトリの設定方法を見てください。次に、その構造を反映するようにプロジェクトを変更します。 – treesAreEverywhere
AndroidManifest.xmlでapp_titleを参照するにはどうすればよいですか?私は@ apptitle/app_titleを試しましたが、解決できません。 – dannyroa