我的应用程序有几种风格适用于多个市场的应用程序计费系统.
我有一个库,它共享我所有项目的基本代码.所以我决定将这些支付系统作为产品口味添加到这个库中.
问题是android库可以有产品口味吗?
如果是这样,我如何在应用程序的各自风格中包含不同的风格?
我搜索了很多,我找不到任何关于这种情况的信息.我在http://tools.android.com/tech-docs/new-build-system/user-guide中找到的唯一近似内容是:
dependencies {
flavor1Compile project(path: ':lib1', configuration: 'flavor1Release')
flavor2Compile project(path: ':lib1', configuration: 'flavor2Release')
}
Run Code Online (Sandbox Code Playgroud)
我将配置更改为不同的东西,但它不起作用!
我正在使用android studio 0.8.2.
我有一套使用相同模块的项目,其中包含几乎所有实际代码.该项目设置如下:
project/
- app/
- build.gradle
- libraries/
- module/
- build.gradle
- build.gradle
- settings.gradle
Run Code Online (Sandbox Code Playgroud)
依赖关系都设置正确,我可以构建和运行应用程序很好,但我只能添加项目的风味,这不是理想的解决方案.settings.gradle包含以下内容:
include ':app', ':libraries:module'
Run Code Online (Sandbox Code Playgroud)
在app目录的build.gradle文件中,我添加了以下块:
productFlavors {
alpha
production
}
Run Code Online (Sandbox Code Playgroud)
使用gradle 0.11,这会同步并创建assembleAlphaDebug,assembleAlphaRelease,assembleProductionDebug,assembleProductionRelease任务.当我尝试在模块中执行此操作时,我收到错误:
找不到与给定名称匹配的资源(在'theme'处,值为'@ style/MyCustomTheme')
在建成app/src/main/AndroidManifest.xml.由于某种原因,该模块尚未构建,因此自定义主题无效.我究竟做错了什么?
android gradle android-studio build.gradle android-gradle-plugin
我正在寻找类似的东西
apply plugin: 'android-library'
dependencies {
flavor1Compile files('utility.aar')
}
Run Code Online (Sandbox Code Playgroud)
一切都失败了:
无法在根项目"SampleProject"上找到参数[文件集合]的方法flavor1Compile().