Reputation: 796
I have an interface defined in the aidl but I can't extend it or find it any way. The ide just tells me: Can not resolve symbol 'KeyEventListener' Any idea how to fix this?
Additional infos:
I know android-studio is some thing like a pre-alfa but like it very much and would be very happy if some one could halp me out on this!
Upvotes: 14
Views: 18756
Reputation: 2326
If it's 2023 and you switched from gradle 7 to 8 then I might have a fix.
There is a gradle property called buildFeatures.aidl. It needs to be true to compile aidl files. In gradle version 7 the default is true. But the default has been changed to false in gradle 8.
So if your aidl file is in the default app module you need to edit app/build.gradle. Please don't copy/paste but put the line "aidl true" at the right place in your file instead. The hierarchy is like this:
android {
buildFeatures {
aidl true
}
}
Upvotes: 25
Reputation: 16317
Created a directory aidl under src/main.
Then created the new aidl file package structure and moved aidl file into it.
Rebuilt and it was done.
Upvotes: 4
Reputation: 161
You are probably best off having a look at The Gradle Plugin User Guide for Android.
Gradle, by default, requires a particular directory structure. If you want to use Gradle with a directory structure that most Android devs are accustomed to, you'll need to put the following (from the above-mentioned link) inside the "android" block.
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
After you've done this, do a clean and rebuild to be on the safe side.
Personally, I just adapt my projects to fit the new convention.
Upvotes: 12