首页 >> 数码 >

android studio怎么使用adb命令 Android 项目用Dagger2搭建框架遇到错怎么办

2022-06-10 19:30:12 来源: 用户: 

大家好,我是云百科的客服小柏,我来为大家解答以上问题。android,studio怎么使用adb命令,Android,项目用Dagger2搭建框架遇到错怎么办很多人还不知道,现在让我们一起来看看吧!

解答:

1、 写完代码后,使用“重建项目”命令出现两个错误(如图:重建项目命令error.png)。根据错误提示,找不到“com.tool.compat.kit”包下的主题“style/theme.appcompat.light.noactionbar”,印象中是写了这个主题。不知道为什么找不到。

2、 读取依赖自定义模块中的代码后(如图:自定义模块中样式文件的内容。png),发现确实是写的。AndroidStudio有问题吗?想出这样的事几乎是不可能的。其他项目没有问题。为什么这个是错的?

3、 直接跑项目没毛病。是鬼吗?直接“运行app”命令没有问题,但是“重建项目”命令有问题。突然想到androiddependencies库没有配置?进入自定义模块,在build.gradle中查看.但仔细一看,我突然发现了一个“compileOnly”命令:

4、 CompileOnly只在编译时有效,不会参与打包。可以通过这种方式依赖自己自定义模块中的一些库,比如gson、com.android.support等用户常用的库,避免提供给别人时出现不一致的情况。

5、 (4)很容易理解编译命令的含义。将此命令更改为“implementation”并再次执行“RebuildProject”命令,这样就不会报告此错误。但是,他又报了一个错误,继续改正。

6、 我们先来看这个错误(如图:Executionfailed.png),'错误3360任务'3360App3360KaptreleaseKotlin'执行失败',(什么?执行错误?你怎么会什么都看不见?)

7、 看到上面的错误也不用担心。有些错误不会在这里提示。因为非常强大。右下角有一个“Gradle控制台”(如图:查看错误方法和错误日志.png)。点击打开,可以用鼠标在线滚动查看工程错误的详细信息。

8、 从错误日志可以知道是因为匕首使用方法不对。

9、 您需要使用@Inject命令来初始化构造函数。

10、 通过对日志位置的分析,发现LoginPresenerImpl构造函数没有使用@Inject进行注释。添加后发现或报告同样的错误(如图:构造函数添加Injectcomment.png)。

11、 分析发现提供的方法是错误的。修改了LoginModule,增加了两个@Provides方法,但还是不行。最后发现“providesLoginPresenter”方法的返回值应该是具体实现类“LoginPresenter”类型而不是“iloginpresenter”类型。最后,当您再次执行“重建项目”命令时,不会出现错误。最后解决了两个坑(如图)。

12、 摘要

13、 1.通过这两个坑,当你发现集成了一个新的依赖库的时候,一定要看看具体的用法。如果有时间的话,最好阅读分析一下源代码的具体实现。

14、 2.如果项目出现无法分析的错误,点击AS右下角的“Gradle控制台”。看到这里的具体错误,有助于我们填坑。

15、 3.在向他人提供依赖于模块的库时,可以依赖自己模块中的gson、com.android.support等一些用户compileOnly使用的库,这样指定的第三方库就不会参与打包,从而避免与用户不一致。

16、 人生漫长,bug无数。我们来挖虫子,开开心心的填进去。

17、 哈哈,关注一下,喜欢就给个赞。

18、 更多内容不断更新,欢迎大家一起讨论学习。

本文到此讲解完毕了,希望对大家有帮助。

  免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!

 
分享:
最新文章
站长推荐