Gradleを使用してAndroidアプリケーションを構築しています。ビルドタイプ(リリースまたはデバッグ)に基づいていくつかのフラグを使用しようとしています。
私のGradleファイルは次のようになります:
Android {
buildTypes {
debug {
buildConfigField 'boolean', 'PREPROD', 'true'
buildConfigField 'boolean', 'STAGING', 'false'
}
release {
buildConfigField 'boolean', 'PREPROD', 'false'
buildConfigField 'boolean', 'STAGING', 'false'
}
}
}
BuildConfig.PREPROD
またはBuildConfig.STAGING
を呼び出そうとすると、「シンボルを解決できません」というエラーが表示されます。 Gradle同期は成功したので、この機能を使用できるようにするためにいくつかの手順を忘れたかどうかはわかりませんか?
生成されるBuildConfig.Java
ファイルは次のとおりです(build/source/buildConfig/debug/com.example.myapp
内):
package com.example.myapp;
public final class BuildConfig {
public static final boolean DEBUG = Boolean.parseBoolean("true");
public static final String PACKAGE_NAME = "com.example.myapp";
public static final String BUILD_TYPE = "debug";
public static final String FLAVOR = "";
public static final int VERSION_CODE = 400;
public static final String VERSION_NAME = "";
}
ファイルが正しいBuildConfigクラスをインポートしていることを確認してください。他のプロジェクトライブラリまたはモジュールがある場合、間違ったbuildConfigをインポートすることがあります。インポートが次のようになっていることを確認してくださいcom.project.app.BuildConfig。私は同じ問題を抱えていましたが、問題はこれでした、それが誰かを助けることができることを願っています。
同じバグが発生していました。 saveの右側にあるsynchronizeをクリックしてみてください。 gradle syncの後に行います。
Stringフィールドを適切に宣言しなかったため、私に起こりました。
逃げるキャラクターを忘れました。からの変更:
buildConfigField "String", "FOO", "foo"
に
buildConfigField "String", "FOO", "\"foo\""
問題を解決しました。
DefaultConfigにもパラメーターを追加してください。パラメーターが特定のbuildVariantで定義されている間に、おそらくデフォルトのbuildVarientを実行しているでしょう。
ビルドgradleファイルではこれを使用します:
defaultConfig { buildConfigField('String' , 'myParameter', 'someValue') }
次に、コードでこれを使用します:
String myParam= BuildConfig.myParameter;
これがお役に立てば幸いです、M.A :)
上部の黄色の「今すぐ同期」バーをクリックしても、gradleビルドファイルの変更はBuildConfigクラスの生成を更新しません。完全に削除すると、このファイルが強制的に生成されます。
Android Studio:ビルド->プロジェクトのクリーン
これと同じ問題が1週間以上も私を悩ませてきました。私の場合、それは単純なインポートの欠落でした。私はそれを探しましたが、何らかの形で私が見つけることができるドキュメントのどこにも、BuildConfigクラスをどこにでもインポートする必要があると言及していません!それでも、それは論理的です。私はそれが自動であると信じ続けました。まあ、それはそうではありません。
次のいずれかを試してください:
BuildConfig.
部分を1回クリックします。 「? uk.co.package.app.BuildConfig? Alt + ENTER
」のようなヘルプメッセージが青いバブルに表示されるはずです。クリックすると、不足しているインポートがAndroid studioによって自動的に追加されます。またはimport uk.co.package.app.BuildConfig;
を追加します。再構築...それは動作します!まあ、それはとにかく私のためにやった。
私のような別の卒業生Android初心者に役立つことを願っています!
BuildConfigの出現を検索します。存在しないBuildConfigとコンパイラの不正なインポートがありましたが、それはどこか別の場所にあるコードのランダムな行を指すのではなく、キャッチしました。
私の場合、問題はプロジェクトのモジュールの名前を変更しただけでしたが、そのモジュールの名前参照はAndroidManifest.xml
で自動的に更新されなかったことです。
それらを手動で名前変更してプロジェクトを再構築すると、問題が解決しました。
パッケージがマニフェストで最新ではありませんでした。 AndroidManifest.xmlファイルを確認し、パッケージの名前を修正しました。これは私がこの問題を解決した方法です。