[解決済み] String型のbuildConfigFieldを生成する方法
2022-04-14 02:44:34
質問
私の
Android Studio
プロジェクトには、2つの
build configuration
といくつかの
buildConfigField
:
buildTypes {
def SERVER_URL = "SERVER_URL"
def APP_VERSION = "APP_VERSION"
debug {
buildConfigField "String", SERVER_URL, "http://dev.myserver.com"
buildConfigField "String", APP_VERSION, "0.0.1"
}
release {
buildConfigField "String", SERVER_URL, "https://myserver.com"
buildConfigField "String", APP_VERSION, "0.0.1"
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
以下のようなエラーが発生します。
/path/to/generated/BuildConfig.java
Error:(14, 47) error: ';' expected
Error:(15, 47) error: ';' expected
生成された
BuildConfig.java
は次のようになります。
public final class BuildConfig {
public static final boolean DEBUG = Boolean.parseBoolean("true");
public static final String APPLICATION_ID = "com.mycuteoffice.mcoapp";
public static final String BUILD_TYPE = "debug";
public static final String FLAVOR = "";
public static final int VERSION_CODE = 1;
public static final String VERSION_NAME = "1.0";
// Fields from build type: debug
public static final String APP_VERSION = 0.0.1;
public static final String SERVER_URL = http://dev.mycuteoffice.com;
}
の方がいいと思います。
APP_VERSION
と
SERVER_URL
は、引用符がないため、String 型として正しく生成されません。
なぜこのような方法で生成されるのか、よくわかりません。どうすればこの問題を解決できるのか、教えてください。
解決方法は?
文字列型のビルド設定フィールドは、このように宣言します。
buildConfigField "String", "SERVER_URL", "\"http://dev.myserver.com\""
は引用符で囲まれたフィールド名で、フィールドの値はさらに引用符で囲まれたエスケープされたものです。
関連
-
Android端末にADBが接続できない!を解決。理由: デバイスが認証されていない!
-
Android のパッケージングに失敗し、Android リソースのリンクに失敗したことを示すプロンプトが表示される
-
Error:A problem occurred configuring project ':app'. > ビルドを見つけられませんでした。
-
android exception - aapt.exe has stopped working.
-
問題 ---- Android ---- ActivityManager: Error: アクティビティクラス{xx/xx.MainActivity}が存在しない
-
アンドロイドスタジオ学習入門
-
アンドロイドスタジオソフトウェア使用詳細説明書
-
Android studio 制約レイアウト ConstraintLayout
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
adb シェルがデバイスのオフラインを求めるプロンプトを表示する
-
Androidのadbデバイスがオフラインであることが判明
-
android.os の NetworkOnMainThreadException。
-
AndroidStudio reports Could not resolve all artifacts for configuration ':app:classpath'.
-
Google PlayデバイスはPlay保護機構の認証を受けていません。
-
指定された子にはすでに親がいます。まず、その子の親に対して removeView() をコールする必要があります。
-
repo: コマンドが見つかりません
-
アンドロイドのエリプサイズを使用する
-
Android TextViewにandroid:ellipsize=endのバグがある。
-
Android基本アプレット