小编Hum*_*ent的帖子

gradle汇编和gradle build taks之间的区别是什么?

如果我没看错的gradle assemble不运行gradle assembleDebuggradle assembleRelease,但我相信gradle build也不会是相同的,所以是什么他们两个之间有什么不同?

android android-gradle-plugin

50
推荐指数
4
解决办法
3万
查看次数

在Kotlin中开发的Android库模块导出到Java Application导致失败的解决方案:Lkotlin/jvm/internal/Intrinsics

我在Kotlin开发了一个Android库模块 - 在Kotlin项目上进行了测试,一切正常.使用gradle的maven-publishing插件,我已经生成了aar文件并将它们上传到Maven服务器上,所以后来我在Android Java应用程序上添加了lib compile 'group:artifact:version'.

库文件似乎被识别,但是,当我尝试启动Lib上存在的活动时,我得到以下堆栈跟踪:

05-12 14:21:48.221 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/DataCollector; annotation class 182
05-12 14:21:48.222 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/DataCollector; annotation class 181
05-12 14:21:48.222 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/DataCollector; annotation class 181
05-12 14:21:48.223 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Collect; annotation class 182
05-12 14:21:48.224 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Collect; annotation class 180
05-12 14:21:48.224 11735-11735/*****.*****.dev W/art: Unable to resolve Lbr/com/**********/dataform/renderengine/core/model/Collect; annotation class 180
05-12 14:21:48.224 …
Run Code Online (Sandbox Code Playgroud)

java android kotlin

18
推荐指数
2
解决办法
7069
查看次数

compileReleaseKotlin因java.lang.ClassNotFoundException而失败:com.sun.tools.javac.util.Context

我正在尝试使用gradlew通过终端构建我的Android项目(包含库模块).在Android Studio中,它可以成功编译和安装,但是当我尝试运行时,./gradlew assembleDebug我得到以下堆栈跟踪:

Using kotlin incremental compilation
e: java.lang.ClassNotFoundException: com.sun.tools.javac.util.Context
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at org.jetbrains.kotlin.gradle.tasks.JarSearchingUtilKt.findToolsJar(jarSearchingUtil.kt:48)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerEnvironment$toolsJar$2.invoke(GradleCompilerEnvironment.kt:21)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerEnvironment$toolsJar$2.invoke(GradleCompilerEnvironment.kt:15)
        at kotlin.SynchronizedLazyImpl.getValue(Lazy.kt:131)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerEnvironment.getToolsJar(GradleCompilerEnvironment.kt)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerEnvironment.getCompilerClasspath(GradleCompilerEnvironment.kt:24)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner.getDaemonConnection(GradleKotlinCompilerRunner.kt:289)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner.compileWithDaemon(GradleKotlinCompilerRunner.kt:132)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner.compileWithDaemonOrFallback(GradleKotlinCompilerRunner.kt:112)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner.compileWithDaemonOrFallback(GradleKotlinCompilerRunner.kt:49)
        at org.jetbrains.kotlin.compilerRunner.KotlinCompilerRunner.runCompiler(KotlinCompilerRunner.kt:134)
        at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunner.runJvmCompiler(GradleKotlinCompilerRunner.kt:73)
        at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.callCompiler$kotlin_gradle_plugin(Tasks.kt:259)
        at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.callCompiler$kotlin_gradle_plugin(Tasks.kt:160)
        at org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile.execute(Tasks.kt:141)
        at sun.reflect.GeneratedMethodAccessor530.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$IncrementalTaskAction.doExecute(DefaultTaskClassInfoStore.java:163)
        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)
        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:123)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:95)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:76)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:55)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88) …
Run Code Online (Sandbox Code Playgroud)

android gradle kotlin android-gradle-plugin

13
推荐指数
2
解决办法
8110
查看次数

如何在Spring Boot中使用create-react-app?

我正在尝试与使用Spring Boot构建的API一起提供ReactJS应用程序.我create-react-app在/ public /上运行脚本- 如下面的结构所示​​ - 但是,当我尝试从http:// localhost:8080/public/index.html访问时,来自ReactJS的所有相对路径似乎都被破坏了

为了正确加载ReactJS中的资源,我还需要做些什么?

在此输入图像描述

reactjs spring-boot

7
推荐指数
1
解决办法
4860
查看次数

如何解决:"在使用自定义视图实现双向数据绑定时,找不到属性'android:text'"的getter?

我经历了许多类似的问题,但没有一个答案似乎解决了我的问题.我实现了一个EditText我希望与双向数据绑定兼容的自定义.问题是,每次我尝试编译时都会收到错误:

Error:java.lang.IllegalStateException: failed to analyze: android.databinding.tool.util.LoggedErrorException: Found data binding errors.
****/ data binding error ****msg:Cannot find the getter for attribute 'android:text' with value type java.lang.String on com.app.toolkit.presentation.view.CustomEditText. file:/Users/humble-student/Home/workspace/android/application/app/src/main/res/layout/login_view.xml loc:68:8 - 81:69 ****\ data binding error ****

    at org.jetbrains.kotlin.analyzer.AnalysisResult.throwIfError(AnalysisResult.kt:57)
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules(KotlinToJVMBytecodeCompiler.kt:137)
    at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:158)
    at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:61)
    at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:107)
    at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:51)
    at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:92)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$1$2.invoke(CompileServiceImpl.kt:386)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$1$2.invoke(CompileServiceImpl.kt:96)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:892)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:96)
    at org.jetbrains.kotlin.daemon.common.DummyProfiler.withMeasure(PerfUtils.kt:137)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl.checkedCompile(CompileServiceImpl.kt:919)
    at 
Run Code Online (Sandbox Code Playgroud)

这是我的实现:

CustomEditText

class CustomEditText @JvmOverloads constructor(
        context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = …
Run Code Online (Sandbox Code Playgroud)

data-binding android kotlin android-databinding

7
推荐指数
1
解决办法
4259
查看次数

有没有办法使用 Android 的 LifecycleObserver 来通知 onActivityResult?

我目前LifecycleObserver用于通知诸如onStart我的观点之类的事件。这对于作为演示者或处理程序的组件非常有用,例如FacebookLoginHandler一旦视图准备好就需要注册回调。但是,在某些情况下,正如我提到的那样,我希望我的处理程序处理另一个活动的返回数据。

例子:

当我选择使用 Facebook 登录时,它会启动另一个活动,并将其返回到视图的onActivityResult方法。这让我FacebookLoginHandler在视图中注入 my ,只是将处理委托给它。我想用来LifecycleObserver获得通知onActivityResult并避免将我的处理程序耦合到视图仅用于委派此事件。有没有办法做到这一点?

android android-facebook android-architecture-lifecycle android-architecture-components

6
推荐指数
1
解决办法
1095
查看次数

有没有办法将Firebase Cloud Message(FCM)发送的通知更新到Web应用程序而不是创建新应用程序?

我正在使用FCM进行聊天应用.每次用户收到消息时,我都会通过FCM向他发送通知.如果用户未在前台使用我的Web应用程序,则消息处理将在默认的Service Worker中进行,该Service Worker会生成一个通知,其中包含我在请求正文中指定的参数.问题是,每次发送新推送消息且应用程序处于后台时,浏览器(在Chrome和Firefox上测试)都会创建新消息,而不是更新现有消息.我想保留已经可见的通知并仅更新其值,这可能吗?

如果app不在前台,则处理推送的Service Worker:

importScripts('https://www.gstatic.com/firebasejs/3.5.2/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/3.5.2/firebase-messaging.js');

firebase.initializeApp({
  'messagingSenderId': '*****'
});

const messaging = firebase.messaging();
Run Code Online (Sandbox Code Playgroud)

JSON正文请求发送到FCM服务器

{
    "priority" : "normal",
    "collapse_key": "demo",
    "notification": {
        "title": "Felicius Humble",
        "body": "This is a sample message content",
        "click_action": "https://****.herokuapp.com",
        "icon": "****"
    },
    "to": "****",
    "data": {
        "id": 7,
        "timestamp": 1493573846692,
        "content": "teste",
        "type": "MESSAGE",
        "direction": "OUTPUT",
        "sender": {
            "id": 5,
            "name": "Felicius Humble",
            "email": "****@gmail.com",
            "gender": "MALE",
            "picture": "****",
            "facebookID": "****",
            "fcmToken": "****",
            "accessToken": "****"
        },
        "chatID": 3
    }
}
Run Code Online (Sandbox Code Playgroud)

firebase firebase-cloud-messaging

4
推荐指数
1
解决办法
1319
查看次数

我可以在gradle中使用compileOnly替代注解处理器吗?

我对批注处理器的当前理解是,它指的是预先准备文件以查找某些批注的代码,然后基于该代码生成或更改其他代码。它发生在项目的常规编译阶段之前。

在gradle中,我们通常使用apt,kpt-我有时看到使用annotationProcessor-表示在“注释处理时”需要一些依赖。

如果上面的理解是正确的,那么compileOnly与apt,kpt等有什么不同?

gradle

2
推荐指数
1
解决办法
935
查看次数