BuildConfig не создается правильно (Gradle Android)Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 BuildConfig не создается правильно (Gradle Android)

Сообщение Anonymous »

Я пытаюсь преобразовать наше приложение для Android в сборку Gradle. У меня есть проект, и его библиотеки успешно строят. Сейчас я пытаюсь создать отдельные APK для наших различных сред (Dev/Test/Prod имеют разные URL -адреса для отдыха, которые они потребляют).

В поисках вокруг, лучший способ, который я чувствую, - это создание различных строительств для каждой среды. Это то, что я попробовал: < /p>

Код: Выделить всё

import java.util.regex.Pattern

buildscript {
repositories {
mavenCentral()
}

dependencies {
classpath 'com.android.tools.build:gradle:+'
}
}

apply plugin: 'android'

task('increaseVersionCode') 
if (task.name == 'generateReleaseBuildConfig') {
task.dependsOn 'increaseVersionCode'
}
}

dependencies {
compile 'com.android.support:support-v4:19.0.0'
compile files('libs/commons-io-2.4.jar',
'libs/google-play-services.jar',
'libs/gson-2.2.4.jar',
'libs/universal-image-loader-1.8.6.jar',
'libs/wakeful-1.0.1.jar')
compile project(':pulltorefresh_lib')
compile project(':edgeeffect_lib')
compile project(':viewpagerindicator_lib')
}

android {
buildToolsVersion "18.1.1"
compileSdkVersion "Google Inc.:Google APIs:18"

defaultConfig {
minSdkVersion 14
targetSdkVersion 18
}

buildTypes {
debug {
packageNameSuffix ".debug"
}
dev.initWith(buildTypes.debug)
dev {
buildConfigField "String", "URL_SEARCH", "\"https://dev-search.example.com\";"
buildConfigField "String", "URL_CONNECT", "\"https://dev-connect.example.com\";"
buildConfigField "String", "URL_SVC_NEWSLIST", "\"https://dev-mobilenews.example.com/newslist\";"
buildConfigField "String", "URL_SVC_NEWSDETAIL", "\"https://dev-mobilenews.example.com/newsdetail\";"
buildConfigField "String", "URL_SVC_REGISTERENDPOINTS", "\"https://dev-mobilenews.example.com/registerendpoints\";"
}
prod.initWith(buildTypes.release)
prod {
buildConfigField "String", "URL_SEARCH", "\"https://search.example.com\";"
buildConfigField "String", "URL_CONNECT", "\"https://connect.example.com\";"
buildConfigField "String", "URL_SVC_NEWSLIST", "\"https://mobilenews.example.com/newslist\";"
buildConfigField "String", "URL_SVC_NEWSDETAIL", "\"https://mobilenews.example.com/newsdetail\";"
buildConfigField "String", "URL_SVC_REGISTERENDPOINTS", "\"https://mobilenews.pdc-np-cf.lmig.com/registerendpoints\";"
}
}

sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
< /code>

Проблема в том, что мой BuildConfig.java, похоже, не получает статических переменных, поэтому я получаю ошибки, аналогичные: < /p>

/Users/path/to/project/MainActivity.java:348: error: cannot find symbol
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(BuildConfig.URL_SEARCH)));
^
symbol:   variable URL_SEARCH
location: class BuildConfig
/Users/path/to/project/MainActivity.java:359: error: cannot find symbol
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(BuildConfig.URL_CONNECT)));
^
symbol:   variable URL_CONNECT
location: class BuildConfig
/Users/path/to/project/MainActivity.java:600: error: cannot find symbol
HttpPost httpPost = new HttpPost(BuildConfig.URL_SVC_REGISTERENDPOINTS);
^
symbol:   variable URL_SVC_REGISTERENDPOINTS
location: class BuildConfig
/Users/path/to/project/service/AlarmNotificationService.java:145: error: cannot find symbol
String requestUrl = BuildConfig.URL_SVC_NEWSLIST + "?"
^
symbol:   variable URL_SVC_NEWSLIST
location: class BuildConfig
/Users/path/to/project/service/NewsService.java:240: error: cannot find symbol
String requestUrl = BuildConfig.URL_SVC_NEWSLIST + "?"
^
symbol:   variable URL_SVC_NEWSLIST
location: class BuildConfig
/Users/path/to/project/service/NewsService.java:530: error:  cannot find symbol
HttpPost httpPost = new HttpPost(BuildConfig.URL_SVC_NEWSDETAIL);
^
symbol:   variable URL_SVC_NEWSDETAIL
location: class BuildConfig
6 errors
my build/source/buildconfig/debug/com /...// buildconfig.java file содержит:

/**
* Automatically generated file. DO NOT MODIFY
*/
package com....;

public final class BuildConfig {
public static final boolean DEBUG = Boolean.parseBoolean("true");
public static final String PACKAGE_NAME = "com.....debug";
public static final String BUILD_TYPE = "debug";
public static final String FLAVOR = "";
public static final int VERSION_CODE = 5;
}
< /code>

Что я делаю неправильно? < /p>

Подробнее здесь: https://stackoverflow.com/questions/207 ... le-android
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»