問題タブ [android-flavors]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
767 参照

android - Android さまざまなクライアントのプロジェクト名とロゴ、およびアプリケーション アイコンを管理する方法

必要に応じて、アプリケーションのアイコン、アプリ名、クライアントのロゴを変更する必要があるさまざまなクライアントに対して 1 つのプロジェクトを管理する必要があります。これを処理する効率的な方法は何ですか??

Android のプロパティ ファイルについて読みましたが、アプリケーションのアイコンと名前を変更するオプションが提供されています。これを処理する理由はあります。

0 投票する
2 に答える
1309 参照

android - フレーバー構成を個別の .gradle ファイルに保持する

短い - フレーバー構成を別々の .gradle ファイルに保持する方法はありますか?

詳細については、フレーバーごとの .gradle ファイル (flavorGermany.gradle、flavorUkraine.gradle、flavorItaly.gradle など) を「apply from:」ディレクティブと共にメイン gradle に含めたいと考えています。各フレーバー .gradle には、署名とビルド構成が含まれます。

0 投票する
3 に答える
15352 参照

android - フレーバー間で異なるパッケージ名を使用するには?

フリーとプロ (バージョン) の 2 つのフレーバーで単一のプロジェクトを作成しようとしています。

私のアプリは既に異なるパッケージで PlayStore にあります (例: com.example.appfree と com.example.app)

これは私のbuild.gradleです:

そして、これは私のマニフェストファイルです:

無料とプロのフレーバーのビルド apk をアップロードしようとしました。Pro フレーバーは問題ありませんが、パッケージが正しくないため、無料のフレーバーは Google に受け入れられません。どうすればこれを解決できますか?

====== 解決済み: ====== applicationIdSuffix は buildTypes でのみ機能します。

0 投票する
1 に答える
181 参照

android - アセンブル gradle フレーバーは、他のフレーバーからの依存関係をコンパイルします

開発プロセスをスピードアップするために、2 つの gradle フレーバーを開発しようとしています。

  • ライブラリをモジュールとしてコンパイルするローカルフレーバー
  • ライブラリの最新のスナップショットを使用するリモート フレーバー

gradle で 2 つのフレーバーを宣言しました。

ここでは、ローカル ライブラリとリモート ライブラリの両方がローカル モジュールとして (デバッグ目的で) 利用可能であると仮定します。ここにサンプルプロジェクトを作成しました。各ライブラリには、ローカルまたはリモートであると想定されるサブライブラリがあるため、次を追加しました。

今、それはトリッキーになります。を呼び出すとgradle assembleLocalDebug、次の行が表示されます。

サンプルアプリの場合はコンパイルします。しかし、私たちの場合、最新の機能がスナップショットで見つからないプロジェクトがあります (まだ公開されていないため)。ローカルでビルドしているため、これは発生しないはずです。Gradleがリモートフレーバーをコンパイルするのを防ぐ方法はありますか?

0 投票する
0 に答える
57 参照

android - 1 つのアプリを 2 つの異なるフレーバーに変換するにはどうすればよいですか?

1 つのアプリを 2 つのフレーバーに分割する必要があります。アプリの機能は、すべての配車リクエストを処理するクライアント アプリと、クライアントのリクエストを警告する「ドライバー」アプリがあるという点で、Uber によく似ています (Uber の例に続きます)。ここまでクライアント アプリを完成させました。コードを再利用して「ドライバー」アプリを作成したいと考えていました。

私の問題は、パッケージなどに関して、このタスクにどのように取り組むべきか本当にわからないことです。すでにフレーバー ルート フォルダーをセットアップしていますが、コピーして貼り付けるだけでよいですか? より良い方法はありますか?

単純にまったく新しいアプリを作成することについて議論してきましたが、Google サインインのために同じ認証コードと sha を維持することが優先されます。

0 投票する
1 に答える
428 参照

android - 異なる applicationId を持つ Android フレーバーは、アプリケーションの動作と外観を壊しました

私は以下を使用していますbuild.gradle

とソース セットmainからコードをコピーしておらず、フレーバーごとに個別のファイルを作成しただけです: res/values/strings.xml、res/values/colors.xml、google-service.json。reldev

アプリケーションはうまく構築applicationIdされ、同じデバイスに別々にインストールされます。

フレーバーについては、relすべてがうまく機能し、applicationId = 'com.example.app'元のパッケージ名と実際のソース パッケージ名と同じです。

devしかし、私は非常に奇妙な行動を得て、フレーバーを探します。applicationId = 'com.example.app.dev'

まず、アニメーションが正しく動作していないことがわかりました。これは、アニメーションが間違った座標になっているように見えるからです。

第二に、動的に膨張するビューを持つ多くのフラグメントがあり、それらは部分的に表示されているか、まったく表示されていません-実行ごとに異なります。

問題は、クラスのパッケージ名が同じであり、おそらくクラスの識別が非常に曖昧であることです。

getContext() が両方のフレーバーに対して同じクラス「com.example.app.MainActivity」を返すことがわかり、これは問題だと思います。

私はそこに変更を加える必要がないので、各ソースセットの下にすべてのソースをコピーしたくありません - コードは同じです。

解決策とは?

0 投票する
1 に答える
775 参照

android - ビルドバリアントフレーバーを変更するときに自動settings.gradleを変更する方法

cms-app があります。このアプリには約200個のモジュールがあります。すべてのモジュールをロードすると、CPU 100% になります。そして、PCは非常に遅いです。私はsettings.gradleを変更し、必要なモジュールをロードします。

ビルド バリアントごとに settings.gradle を変更したい。

サンプルグラドル。

ビルドバリアントを変更するときに、このタスクを追加します settings.gradle app を main settings.gradle に置き換えます。

この解決策は良くありません。ビルドバリアントを変更するときは、依存関係のコメントを外してコメントする必要があります。時々動作しません。

0 投票する
1 に答える
57 参照

android - 単一の Android デバイスでの Dev バージョンと Prod バージョンの同時ベータ テスト

ベータ版と製品版を同じ Android デバイスで実行したいと考えています。

別の applicationId とフレーバーを使用して解決策を見つけました。それは完璧に機能します!

しかし、私は別の applicationId: で別のパッケージを取得するためcom.example.app.dev& - Play マーケットでは、prod applicationId: のアプリケーションのベータ版としてcom.example.appパッケージを含むファイルをアップロードすることは許可されていません:com.example.app.devcom.example.app

このため、別の PlayStore リストを作成しcom.example.app.devます。しかし、それは明らかに曲がった方法です。

より良い方法はありますか?