Notice: 函数 WP_Scripts::localize 的调用方法不正确$l10n 参数必须是一个数组。若要将任意数据传递给脚本,请改用 wp_add_inline_script() 函数。 请查阅调试 WordPress来获取更多信息。 (这个消息是在 5.7.0 版本添加的。) in /data/www/appblog/wp-includes/functions.php on line 6131

Android项目中使用lambda表达式

app module中使用Lambda

Android项目中使用lambda表达式或Java8新特性,需要在app/build.gradle中添加如下配置

android {
    ...
    defaultConfig {
        ...
        jackOptions.enabled = true
    }
    compileOptions{
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

注:Jack特性只能在app module中引用,不能在library modlue中enable

如果将下面代码写在modlue/build.gradle中:

jackOptions {
    enabled true
}

会报如下错误:

Error:Library projects cannot enable Jack. Jack is enabled in default config.

library module中使用Lambda

参考:https://stackoverflow.com/questions/37975128/is-there-way-to-use-java-8-features-with-android-library-project

// Java8 not fully supported in library projects yet, https://code.google.com/p/android/issues/detail?id=211386
// this is a temporary workaround to get at least lambdas compiling
gradle.projectsEvaluated {
    tasks.withType(JavaCompile) {
        options.compilerArgs << "-Xbootclasspath/a:" + System.properties.get("java.home") + "/lib/rt.jar"
    }
}

android {
    ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}
上一篇 Android引用Library的若干问题
下一篇 Android TabLayout参数