Roe*_*oel 11 android sass gradle
我们创建了一个带有webview的Android应用程序,该应用程序显示了assets文件夹中的本地网站.
该项目具有不同的产品风味,可生成具有不同样式和内容但具有相同代码库(本机Java和HTML/JS)的不同应用程序.
对于每种风味,我们想要定义一个不同的sass文件,其中包含特定风味的颜色和调整.
我知道我需要在gradle中创建一个构建CSS文件的任务,但我不知道从哪里开始:
我终于有解决办法了!
将其添加到主文件夹(不是您的应用程序)的 build.gradle 中:
buildscript {
repositories {
jcenter()
mavenCentral()
maven { url 'http://dl.bintray.com/robfletcher/gradle-plugins' }
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
classpath 'com.github.robfletcher:compass-gradle-plugin:2.0.6'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
Run Code Online (Sandbox Code Playgroud)
将其添加到应用程序模块的 build.gradle 中:
apply plugin: 'com.android.application'
apply plugin: 'com.github.robfletcher.compass'
android {
[..]
android.applicationVariants.all { variant ->
for (output in variant.outputs) {
def assetsDir = output.packageApplication.assets;
tasks["merge${variant.name.capitalize()}Assets"].doLast() {
println "Assets folder: " + assetsDir
def _ccsDir = file("$assetsDir/css")
def _sassDir = file("$assetsDir/sass")
def _imagesDir = file("$assetsDir/images")
def _javascriptsDir = file("$assetsDir/js")
def _fontsDir = file("$assetsDir/fonts")
project.compass {
cssDir = _ccsDir
sassDir = _sassDir
imagesDir = _imagesDir
javascriptsDir = _javascriptsDir
fontsDir = _fontsDir
}
//compileSass
project.compassCompile.execute()
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我从没想过它会成功,但它确实有效!
| 归档时间: |
|
| 查看次数: |
499 次 |
| 最近记录: |