【问题标题】:android-studio can't find an aidl interface for use in classandroid-studio 找不到在课堂上使用的aidl 接口
【发布时间】:2013-05-11 20:56:43
【问题描述】:

我在aidl 中定义了一个接口,但我无法扩展它或以任何方式找到它。 ide 只是告诉我:无法解析符号 'KeyEventListener' 知道如何解决这个问题吗?

其他信息:

  • KeyEventListener 是 KeyEventListener.aidl 中定义的接口名称
  • KeyEventListenerImpl 是扩展接口 Stub 的类
  • KeyEventListener 只包含一个名为“void doIt();”的方法并且格式正确;

我知道 android-studio 有点像 pre-alfa,但非常喜欢它,如果有人能帮我解决这个问题,我会非常高兴!

【问题讨论】:

    标签: android intellij-idea aidl android-studio


    【解决方案1】:

    你最好看看The Gradle Plugin User Guide for Android。

    默认情况下,Gradle 需要特定的目录结构。如果您想将 Gradle 与大多数 Android 开发人员习惯的目录结构一起使用,您需要将以下内容(来自上述链接)放在“android”块中。

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }
    

    完成此操作后,请进行清理并重建以确保安全。

    就个人而言,我只是调整我的项目以适应新的惯例。

    【讨论】:

    • 没错。如果您使用的是新结构,请记住aidl 文件现在位于 src/main/aidl 而不是 src/main/java。
    • 如果谷歌在其他地方检测到aidl,它真的应该添加一个关于此的信息框
    【解决方案2】:

    就我而言,CleanRebuild 项目解决了我的问题。

    【讨论】:

      【解决方案3】:

      在src/main下创建了一个目录aidl。

      然后创建新的aidl文件包结构并将aidl文件移入其中。

      重建并完成。

      I followed this post

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-04-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-13
        相关资源
        最近更新 更多