虽然将build.gradle
转换为build.gradle.kts
是一个手动过程,但是我在下面的代码转换中仍在努力。
我尝试使缓存无效并重新启动Studio多次。但是,无法识别android.varinatFilter。
android.variantFilter { variant ->
if (variant.buildType.name == 'release'
&& variant.getFlavors().get(0).name == 'development') {
variant.setIgnore(true)
}
if (variant.buildType.name == 'debug'
&& variant.getFlavors().get(0).name == 'production') {
variant.setIgnore(true)
}
}
Java.util.Properties
依赖项的属性类在.kts
文件中无法解析,并且Java.io
的FileInputStream类也无法识别。
def getProps(path) {
Properties props = new Properties()
props.load(new FileInputStream(file(path)))
return props
}
同时应用kotlin注释处理器
kapt 'androidx.lifecycle:lifecycle-common-java8:2.1.0' To
kapt {'androidx.lifecycle:lifecycle-common-java8:2.1.0'}
无效,并返回编译时错误。
任何帮助将不胜感激。
更新
Java.util.Properties
依赖项的属性类在.kts
文件中无法解析,并且Java.io
的FileInputStream类也无法识别。
这将通过无效缓存和重新启动来解决。(开始重构项目级别gradle,然后依次设置settings.gradle和app.gradle文件)
答案 0 :(得分:1)
对于kapt {'androidx.lifecycle:lifecycle-common-java8:2.1.0'}
-请使用双引号,例如kapt {"androidx.lifecycle:lifecycle-common-java8:2.1.0"}
,请check details here。
请对方法也使用以下语法:
import java.io.FileInputStream
import java.util.Properties
/***/
fun getProps(path: String): Properties {
val props = Properties()
props.load(FileInputStream(file(path)))
return props
}
更改:
fun
代替def
path: String
new
关键字val
开头,例如如果编译器能够理解类型,则无需手动输入。Unit
。对于过滤器-我没有使用它。但是,请考虑:
variant.getFlavors().get(0).name
替换为variant.flavors[0].name
variant.setIgnore(true)
替换为variant.ignore=true
答案 1 :(得分:0)
那是
exports.helloGCS = (file, context) => {
console.log(` Event: ${context.eventId}`);
};
尽管我认为这是一种更正确的方法
android.variantFilter {
if (buildType.name == "release" && flavors[0].name == "development") {
ignore = true
}
if (buildType.name == "debug" && flavors[0].name == "production") {
ignore = true
}
}
应该是
flavors[0].name = "xyz"