未解决的参考 dagger 2 + kotlin + android gradle

2024-01-03

我正在 Android 项目中使用 Kotlin 测试 Dagger 2。我的灵感来自于Android 干净的架构 https://github.com/android10/Android-CleanArchitecture回购。我的 gradle 构建中有两个模块,一个是“app”,一个是“module”。模块包含一个类调用模型。在我的应用程序 gradle 模块中,我使用模型提供程序创建了一个名为“DaggerModule”的匕首模块。当我尝试构建项目时,出现编译错误:

DaggerModule.kt: (3, 57): Unresolved reference: Model 
DaggerModule.kt: (9, 34): Unresolved reference: Model
DaggerModule.kt: (9, 42): Unresolved reference: Model

当我尝试将模型类从“module”模块移动到“app”模块内部时,所有内容都会编译而不会出现错误。试图弄清楚我是否在做一些愚蠢的事情,或者我是否应该在某个地方提交错误。

此处有问题文件的片段供参考:

----
app/build.gradle

buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:0.12.1218'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

repositories {
    jcenter()
    mavenCentral()
}

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.github.app.kotlin_unresolved_reference.app"
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_6
        targetCompatibility JavaVersion.VERSION_1_6
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    compile project(':module')
    compile 'com.android.support:appcompat-v7:22.2.1'

    kapt "com.google.dagger:dagger-compiler:2.0.1"
    compile "com.google.dagger:dagger:2.0.1"
    compile "javax.annotation:javax.annotation-api:1.2"
    compile "org.jetbrains.kotlin:kotlin-stdlib:0.12.1218"
}


---
module/build.gradle

apply plugin: 'java'

//noinspection GroovyUnusedAssignment
sourceCompatibility = 1.7
//noinspection GroovyUnusedAssignment
targetCompatibility = 1.7

configurations {
    provided
}

sourceSets {
    main {
        compileClasspath += configurations.provided
    }
}

dependencies {
    provided "com.google.dagger:dagger-compiler:2.0.1"
    compile "com.google.dagger:dagger:2.0.1"
    compile "javax.annotation:javax.annotation-api:1.2"
    compile "org.jetbrains.kotlin:kotlin-stdlib:0.12.1218"
}

---
DaggerModule.kt

Module
public class DaggerModule {
    Provides fun provideModel(): Model = Model()
}

----
Model.kt

public class Model { }

免责声明:这是我第一次试驾 Dagger 2,并且是一名 gradle 新手。示例项目是我能找到的显示问题的最少代码。我不指望它能起到多大作用:D。


Your 模块/build.gradle设置为 java 而不是 kotlin。我已将其修改为以下内容并且编译正常。

buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:0.12.1218'
    }
}

apply plugin: 'kotlin'

dependencies {
    kapt "com.google.dagger:dagger-compiler:2.0.1"
    compile "com.google.dagger:dagger:2.0.1"
    compile "javax.annotation:javax.annotation-api:1.2"
    compile "org.jetbrains.kotlin:kotlin-stdlib:0.12.1218"
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

未解决的参考 dagger 2 + kotlin + android gradle 的相关文章

  • 在 Android Studio 中,为什么我必须在模拟器中单击“运行应用程序”两次才能启动应用程序?

    在 Android Studio 中 当我按播放按钮在 Android 模拟器上安装并运行应用程序时 大约 5 10 秒后 我在屏幕底部收到一条消息 显示 安装成功 但应用程序实际上并未运行在模拟器上 我必须再次按下播放按钮 这是非常令人沮
  • 在 ViewPager Fragments 中使用 Master/Detail 模板(下载链接)

    工作代码 https github com lukeallison ViewPagerMasterDetail https github com lukeallison ViewPagerMasterDetail Android 主 详细流
  • SearchView过滤ListView

    我已经实现了搜索视图来过滤我的列表视图项目 当我输入任何文本时 它会过滤列表 但当我退出搜索视图时 它不会返回原始列表项 public class PlacesListAdapter extends ArrayAdapter
  • Android 后退按钮无法与 Flutter 选项卡内的导航器配合使用

    我需要在每个选项卡内有一个导航器 因此当我推送新的小部件时 选项卡栏会保留在屏幕上 代码运行得很好 但是 android 后退按钮正在关闭应用程序而不是运行 Navigator pop import package flutter mate
  • 如何在android中获取Camera2 API的当前曝光

    In android hardware Camera旧的 我使用下面的代码获取当前曝光并获取它Camera Camera Parameters param mCamera getParameters currentExposure para
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • 是否必须删除 Intent extra?

    这可能是一个愚蠢的问题 但是是否有一条规则规定消费活动必须显式删除 Intent 额外内容 或者只有在回收 Intent 对象时才如此 换句话说 如果我总是通过执行以下操作来链接到下一个活动 Intent i new Intent MyCu
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 如何使用 Cordova 获取当前安装的应用程序的版本?

    我已经找到了应用程序可用性插件 https github com ohh2ahh AppAvailability它主要检查用户是否在其设备上安装了某个应用程序 是否有可能获得应用程序的当前版本 开发者名称 重要 以及所有可能的信息 一般来说
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • 原色(有时)变得透明

    我正在使用最新的 SDK 版本 API 21 和支持库 21 0 2 进行开发 并且在尝试实施新的材料设计指南时遇到了麻烦 材料设计说我需要有我的primary color and my accent color并将它们应用到我的应用程序上
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • 尝试在 ubuntu 中编译 android 内核时出错

    我正在尝试从源代码编译 Android 内核 并且我已经下载了所有正确的软件包来执行此操作 但由于某种原因我收到此错误 arm linux androideabi gcc error unrecognized command line op
  • 科特林;按多个字段分组

    如何在代码中按三个或更多字段进行 groupBy 我的代码如下 val nozzleSaleReport nozzleStateList groupBy it shift id it createUser id it nozzle id H
  • 字符串数组文本格式化

    我有这个字符串 String text Address 1 Street nr 45 Address 2 Street nr 67 Address 3 Street nr 56 n Phone number 000000000 稍后将被使用
  • 增加活动的屏幕亮度

    显然 Android 操作系统中至少有三种不同的技术可以改变屏幕亮度 其中两个在纸杯蛋糕之后不再起作用 而第三个被接受的技术显然有一个错误 我想在单视图活动开始时增加屏幕亮度 然后在活动结束时将亮度恢复为用户设置 没有按钮 没有第二个视图或
  • 在activity_main.xml中注释

    我是安卓新手 据我所知 XML 中的注释与 HTML 中的注释相同 使用 形式 我想在 Android 项目的 Activity main xml 配置文件中写一些注释 但它给了我错误 值得注意的是 我使用的是 Eclipse 但目前 我直
  • 如何确定对手机号码的呼叫是本地呼叫还是 STD 或 ISD

    我正在为 Android 开发某种应用程序 但不知道如何获取被叫号码是本地或 STD 的号码的数据 即手机号码检查器等应用程序从哪里获取数据 注意 我说的是手机号码 而不是固定电话 固定电话号码 你得到的数字是字符串类型 因此 您可以获取号
  • 实现滚动选择 ListView 中的项目

    我想使用 ListView 您可以在其中滚动列表来选择一个项目 它应该像一个 Seekbar 但拇指应该是固定的 并且您必须使用该栏来调整它 我面临的一个问题是 我不知道这种小部件是如何调用的 这使得我很难搜索 所以我制作了下面这张图片 以

随机推荐

  • 在struts 2中将可变数量的参数从表单传递到动作

    我在应用程序中使用 struts2 并在 jsp 中有一个表单 该表单提交给操作类 表单中输入字段的数量在运行时可能会发生变化 因此操作类不能具有固定的参数 setter 和 getter 我试图在单个操作类中捕获这些可变数量的输入 我想知
  • Swing GUI 未更新

    我有一个简单的 Java Swing 应用程序 它使用 zip4j 来加密和解压 zip 文件 这是通过这部分代码完成的 ZipFile zipFile new ZipFile dataStorage zip zipFile setPass
  • flutter中的底部导航栏设计在单击时展开图标

    I need a navigation bar on which I can expand an icon when it s clicked in FlutterBottom Navigation bar design image htt
  • C# 3.0 (2009) 中的 C# 可选属性

    我想知道 C 是否支持如下可选属性 public class Person public string Name get set public optional string NickName get set many more prope
  • 如何使用 window.open() 显示窗口标题?

    我想使用以下命令打开一个新窗口 window open
  • Java代理认证

    我有一个在 Tomcat 6 中运行的 Java Web 应用程序 它从远程 URL 加载 RSS 提要 I use Rome http java net projects rome 为我处理 RSS 提要和不同的格式 连接部分如下所示 t
  • 在 Blazor 页面内渲染 React 组件

    是否可以在 Blazor 页面内呈现 React 组件 我尝试向 Blazor 页面添加脚本标签 但 Blazor 不允许添加脚本标签 感谢你的回答 是否可以在 Blazor 页面内呈现 React 组件 是的 这是可能的 React 是一
  • 使用 JavaScript 处理刷新页面事件

    是否可以使用JavaScript来处理刷新页面的事件 我想要的是 如果用户做出以下行为之一 我会收到通知 refresh page by pressing F5 关闭选项卡或浏览器 输入新网址 然后按 Enter 键 浏览器 显示警告消息
  • clojure cons 与带有惰性序列的 conj

    为什么 cons 在这种情况下可以与lazy seq配合使用 但 conj 却不能 这有效 defn compound interest p i cons p lazy seq compound interest p 1 i i 这不会 它
  • 如何将 HTML 字符串渲染为真正的 HTML?

    这是我尝试过的以及它是如何出错的 这有效 div Hi there gt 这不会 div div description 属性只是一个普通的 HTML 内容字符串 然而 由于某种原因 它被呈现为字符串 而不是 HTML 有什么建议么 Is
  • 如何在Node.js中请求图像并输出图像

    我尝试获取图像并显示在网址上 我用request https github com request request module 例如我想获取图像https www google com images srpr logo11w png 并显
  • 如何降低 Sphinx4 应用程序中的噪音

    我对 sphinx4 和语音识别很陌生 我正在使用 sphinx4 创建语音应用程序 问题是噪声 即使用户没有语音输入 它也会导致程序识别 即即使用户没有语音输入 程序也会将语音转换为文本 从而影响准确性 主要问题是如何实现降噪 这是因为即
  • 如何在 Tomcat 7 中以编程方式检索登录配置?

    在 Tomcat 7 上 我设置了一个领域来让容器管理身份验证过程 我还设置了 web xml 与相应的
  • 如何修复超过 maxWarmingSearchers 的限制?

    任何人都知道为什么以及如何解决这个问题 因为我同时有非常繁忙的更新和搜索 打开新搜索器时出错 超出 maxWarmingSearchers 2 的限制 请稍后再试 根据Solr 常见问题解答 超出 maxWarmingSearchers X
  • TitledBorder 标题更新/刷新延迟,为什么?

    我有一个JPanelA 内有标题边框JPanel B of a JTabbedPanelC 我有一个刷新A和B内容的方法 它会不时被调用 不幸的是 A 和 B 的所有项目都及时刷新 但 A 的标题没有刷新 我明确必须切换到另一个选项卡式面板
  • 反序列化 XML Rest WebApi 调用?

    我一直在关注一些在线示例 但由于某种原因我无法成功反序列化以下 XML 文档
  • 嵌入时间线的动态时间线选择 - 标签时间线

    我已按照指南进行操作here https dev twitter com discussions 18411使用相同的小部件 ID 添加多个小部件 这对于用户时间线来说效果非常好 片段 a class twitter timeline hr
  • 将嵌套 JSON 负载映射到 Elixir 中的结构

    我正在尝试将 Golang 教程 gddit 移植到 Elixir 我已经使用 Dartlang 成功做到了这一点 但 Elixir 在地图和列表上的操作让我感到困惑 使用 HTTPoison 和 JSEX 我有以下代码 defmodule
  • Selenium webdriver 窗口处理 c# switchTo 失败

    测试过程中会弹出 2 个窗口 my code string BaseWindow driver CurrentWindowHandle ReadOnlyCollection
  • 未解决的参考 dagger 2 + kotlin + android gradle

    我正在 Android 项目中使用 Kotlin 测试 Dagger 2 我的灵感来自于Android 干净的架构 https github com android10 Android CleanArchitecture回购 我的 grad