問題タブ [android-build-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 投票する
5 に答える
2272 参照

android - フレーバーのメニュー項目を非表示または追加する方法は?

fullと の 3 つの異なるフレーバーを持つアプリがpart1ありpart2ます。

フレーバーごとにパッケージ名が異なるため、異なるアプリとして出荷できます。

part1というメニュー項目だけを取得したいのですReload。他の 2 つのフレーバーには、このメニュー項目はありません。これは可能ですか?

メニューリソースで次のことを試しました:

forは次のとおりmain_activity.xmlです。part1

そしてmain_activity.xml、次のmainとおりです。

ただし、 以外のビルド バリアントでアプリをビルドすると、メニュー選択に対応する必要がある場所でpart1コンパイル エラーが発生します。MainActivity

その理由は明らかです。しかし、さまざまなビルド フレーバーに合わせてメニューをカスタマイズするための解決策について何か提案はありますか?

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

android - 「プロバイダーの競合」メッセージをプログラムで防止する方法

PlayStoreでもAndroidStudioでも「重複プロバイダー」エラーメッセージを表示せずに、1つのデバイスにさまざまなフレーバーのさまざまなビルドをインストールする方法を誰か教えてもらえますか?

私のアプリには国ごとに異なるフレーバーがあり、別のアプリをインストールする前に常にアプリをアンインストールするのは面倒です。

私は試した:

そして私の AndroidManifest に追加しました:

わたしの

鬼ごっこ。これは私の問題を解決しません。

私は ContentProvider を使用しないので、プロジェクトに Stub ContentProvider クラスを追加して、内部で android:authorities="${providerAuthority}" を宣言しようとしました

スタブ ContentProvider の名前を含むタグ --> 成功しません。他のアイデアや修正についてはとてもうれしいです。

アップデート:

デバイスにアプリをインストールしようとしたときに Android Studio から表示されるエラー メッセージ。

これは、Android Studio から表示されるエラー メッセージです。

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

android - Gradle Flavor 変数の抽象化

最近、プレースホルダーを使ってマニフェスト マージを行う方法を見つけました。アプリに実装しましたが、ほとんどの場合、結果に本当に満足しています-ビルドバリアントに基づいてアプリ名を変更するGradleのみのソリューション

String Resource以前は、フレーバーやビルド タイプなどのさまざまなリソースで変更したい属性を持つ文字列を 1 つだけ使用して、新しいスパースを作成する必要がありました。個人的には、その方法は本当にきれいだとは思いません。シンプルで簡単ですが、きれいではありません。

そこから、動作する以下を作成しました。しかし、私は重複したコードが好きではありませんFlavor。これは抽象化できるものですか?おそらくそれを入れることができdefaultConfigますか?

たとえば、以下のmanifestPlaceholdersコードでは、すべてのフレーバーに存在するコードを移動し、defaultConfig何らかの形で抽象化して、一度定義できるようにする方法はありますか?

ところで、上記のコードを実行するapplicationLabelと、次のようになります。これらを使用して、ホーム画面のアプリの名前を決定します。

望ましい

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

android - Android の難読化された APK の問題

Pro-Guard を有効にして署名付き APK を生成する際に奇妙な問題があります。テキストの色が黒のサーバーからのいくつかのアイテムのリスト ビューを表示しています。デバッグ リリースでは、リスト ビューに問題なくデータが表示されます。しかし、リリースモードでは、透明色のデータを表示するリストビュー、テキストの色は黒を使用し、リストビューアダプタークラスで色を設定しています。リリースモードでは、リストビューをクリックしてリスト項目を選択できますが、リスト内の項目ですビューが表示されません。

ここに画像の説明を入力

上の画像はデバッグ モードで、リスト ビューが正しく表示されています。

ここに画像の説明を入力

上の画像はリリースモードです。

私のプロガードファイルに注意してください

私はこの 2 日間、この問題に悩まされてきました。デバッグ リリースでは、アプリは問題なく完全に動作しています。私を助けてください。

引用符

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

android - Android グラドルのビルド速度

Android プロジェクトに prod、dev、およびその他のテスト環境用の複数のビルドがある場合、ビルド プロセスに時間がかかります。1 つだけがコンパイルされた場合でも、各ビルド フレーバーが評価されます。特定のフレーバーの apk を作成するときに、他のビルドを除外する方法はありますか?

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

android - 複数のフレーバーとモジュール

複数の好意を持つ複数のモジュールアプリがあります。

  1. トップの「アプリ」ビルドバリアントのみを変更し、サブモジュールを同じ方法でビルドする方法はありますか? または、各モジュールを変更する必要がありますか?

  2. 少ないコードでビルド タイプとフレーバーの依存関係を構成する方法はありますか? これは「ばかげた」構成です

    //モジュール 1 の依存関係の構成
    フレーバー 1DebugCompile プロジェクト (パス: ':module1'、構成: 'flavor1DebugCompile')、
    flavor2DebugCompile プロジェクト (パス: ':module1'、構成: 'flavor2DebugCompile')、
    flavor1ReleaseCompile プロジェクト (パス: ':module1'、構成: 'flavor1ReleaseCompile')
    フレーバー 2ReleaseCompile プロジェクト (パス: ':module1'、構成: 'flavor2ReleaseCompile')

    //モジュール 2 の依存関係構成
    フレーバー 1DebugCompile プロジェクト (パス: ':module2'、構成: 'flavor1DebugCompile')、
    flavor2DebugCompile プロジェクト (パス: ':module2'、構成: 'flavor2DebugCompile')、
    flavor1ReleaseCompile プロジェクト (パス: ':module2'、構成: 'flavor1ReleaseCompile')
    フレーバー 2ReleaseCompile プロジェクト (パス: ':module2'、構成: 'flavor2ReleaseCompile')

    //モジュール 3 の依存関係の構成
    ...
    //モジュール 4 の依存関係の構成
    ...

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

android - Androidフレーバー - アプリごとに個別の描画可能ディレクトリ?

コードベースは同じでも、アプリごとに別の描画可能ディレクトリを持つことは可能ですか?

基本的に、同じアプリを複数回使用したいのですが、ブランドを変更しただけなので、描画可能なフォルダー内の画像を除いてすべて同じにすることができます。

何か案は?

ディレクトリ構造を次のようにします。

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

java - Android フレーバー - シンボル R を解決できません

同じコードベースに 2 つのアプリがあります。これらは同じ Java ファイルを使用し、res ファイルを保存します。ただし、ファイルとファイル名は同じですが、内容が異なる値と描画可能なフォルダーを除きます。

私が抱えている問題は、Gradle のビルド時に、RI を使用するすべての場所でエラーが発生するため、問題が発生することです。

Cannot resolve symbol R

私のbuild.gradleファイルは次のようになります(簡潔にするためにいくつかの設定を省略しています):

私のフォルダ構造は次のようになります。

これをGradleでビルドするとエラーは発生しませんが、プロジェクトをビルドすると、Rが見つからないため、Javaファイル全体にエラーが発生します..パッケージ名が存在しないことに関係していると推測しています私のビルドフレーバー設定により正しいです。

何か案は?

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

android - 1 つのビルド フレーバーに対してのみリソースの縮小を有効にする

build.gradle ファイルを記述して、1 つのビルド フレーバーに対してのみリソースの縮小を有効にすることはできますか? 現在、ビルド タイプごとに縮小を有効にすることができます。フレーバーごとにビルド タイプを設定できますか