Я перенесла приложение из eclipse в андроид-студию, и теперь я пытаюсь запустить ароматы продукта. Я слежу за блогом по http://blog.robustastudio.com/mobile-development/android/building-multiple-editions-of-android-app-gradle/Продукт аромат [Миграция от затмения до студии android]
Ниже приводится моя структура построения при импорте из затмения.
Я могу видеть варианты в окне вариантов сборки.
Ниже приводится build.gradle
применять плагин: «com.android.application»
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':volley')
compile 'com.google.android.gms:play-services-gcm:7.5.0'
compile 'com.android.support:cardview-v7:21.0.+'
compile 'com.android.support:recyclerview-v7:21.0.+'
compile 'com.android.support:appcompat-v7:21.0.+'
}
android {
compileSdkVersion 22
buildToolsVersion "22.0.0"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
// Move the tests to tests/java, tests/res, etc...
instrumentTest.setRoot('tests')
// Move the build types to build-types/<type>
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/<type>/... which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
defaultConfig {
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled true;
proguardFiles getDefaultProguardFile('proguard-project.txt');
}
}
productFlavors {
demo {
applicationId "com.demo.app"
}
}
lintOptions {
checkReleaseBuilds false;
abortOnError false;
}
}
Я хочу, чтобы файл Constants.java быть доступны для различных вкусов, как это имеет различные значения для соответствующие ароматизаторы.
Ниже приводится структура сборки, как показано в общей студии проекты,
app/
|--libs/
|--src/
|--vanilla/
| |--java/
| |--com/example/
| |--Flavor.java
|--strawberry/
| |--java/
| |--com/example/
| |--Flavor.java
|--main/
|--java/
| |--...
|--res/
| |--...
|--AndroidManifest.xml
Но структура, когда мигрировали из затмения, кажется, совершенно разные. Я попытался создать каталог в src [demo/com.demo.app], чтобы проверить вариант аромата. Но это не работает. Может ли кто-нибудь помочь мне в этом? Как я могу включить поддержку вкуса продукта для проектов, перенесенных из eclipse
Звучит идеально. Я попробую решение и приму ответ. Приветствия :) –
После включения наборов источников, как вы упомянули, я сталкиваюсь с повторяющимися классами в соответствующих вкусах при компиляции. 'error duplicate class: com.demo.app.Constants' –
Похоже, что у вас есть класс 'Constants' в обоих основных и демо-наборах. Весь код в основном исходном наборе включен для всех вариантов, тогда как код в других наборах источников (например, демонстрационная версия) включается только в их соответствующие варианты. Таким образом, если у вас есть константа в обоих, вы получите две противоречивые копии одного и того же класса. Похоже, вам может понадобиться исходный источник 'release' с константами релиза и источником' demo', установленным с демо-константами. –