Измените файл BuildConfig в AndroidStudio, используя gradle
Я пытаюсь добавить URL в мой BuildConfig
использование файла gradle
в Android Studio. Поэтому я добавил этот код в gradle
файл
buildTypes {
debug {
buildConfigField "String", "MIDTRANS_API", '"https://app.sandbox.midtrans.com/snap/v1"'
}
}
Затем я попытался перестроить свой проект и надеялся, что это значение появится в BuildConfig
файл, но это было не так. Может кто-нибудь объяснить, как это сделать правильно?
Мой полный gradle
код файла как ниже
apply plugin: 'com.android.library'
android {
compileSdkVersion 27
buildToolsVersion '27.0.3'
defaultConfig {
minSdkVersion 19
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
debug {
buildConfigField "String", "DAR_API", '"{some string}"'
buildConfigField "String", "DAR_API_AUTH", '"{some string}"'
buildConfigField "String", "MIDTRANS_API", '"https://app.sandbox.midtrans.com/snap/v1"'
}
rc {
minifyEnabled true
debuggable true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField "String", "DAR_API", '"{some string}"'
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField "String", "DAR_API", '"{some string}"'
}
}
После этого идет зависимость, но я думаю, что это не связано с проблемой
2 ответа
Попробуй это
buildTypes {
debug {
buildConfigField "String", "MIDTRANS_API", "\"https://app.sandbox.midtrans.com/snap/v1\""
}
release {
buildConfigField "String", "MIDTRANS_API", "\"https://app.sandbox.midtrans.com/snap/v1\""
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
В Java вы можете получить доступ к этому с помощью кода ниже после синхронизации файлов Gradle
String url = BuildConfig.MIDTRANS_API
Надеюсь, что это поможет вам.
Я попытался использовать то же свойство buildConfigField в своем проекте, и мне удалось увидеть его в файле BuildConfig для отладки.
Возможно, ваш проект не был перестроен должным образом. Попробуйте очистить проект, а затем соберите его снова.
Чтобы получить значение свойства в вашем коде Java, вам нужно сделать это:
String API_URL = BuildConfig.MIDTRANS_API;
Примечание. Чтобы получить доступ к этому свойству в сборке релиза, вам также необходимо скопировать его в соответствии с типом релиза. Затем измените вариант сборки для выпуска.
В вашем файле Gradle сделайте это,
buildTypes {
debug {
buildConfigField "String", "MIDTRANS_API", '"https://app.sandbox.midtrans.com/snap/v1"'
}
release {
buildConfigField "String", "MIDTRANS_API", "https://app.sandbox.midtrans.com/snap/v1"
}
}
Это должно исправить вашу проблему.
Я решил свою проблему, изменив имя пакета в
manifest.xml
файл, который еще не был обновлен:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.android">