app declares a dependency from configuration 'compile' to configuration 'default' which is not declared in the descriptor for project
I am importing a library module named "wear" in my project and while building, I am getting this:
Error : A problem occurred configuring project ':app'.
Could not resolve all dependencies for configuration ':app:_debugApk'.
Project :app declares a dependency from configuration 'compile' to configuration 'default' which is not declared in the descriptor for project :wear.
What does it mean? How can I get rid of this?
Solution 1:
This error usually occurs when Gradle cannot find a particular component. I experienced this when trying to use the Salesforce React Native Android example.
The error message you get looks like the one you posted ... in my case it was
Project :app declares a dependency from configuration 'compile' to configuration 'default' which is not declared in the descriptor for project :libs:SalesforceReact.
I found my Gradle settings file ( called settings.gradle
) in the projects android
directory. The start of it looked like this
rootProject.name = 'SmartSyncExplorerReactNative'
def libsRootDir = new File( settingsDir, '../node_modules/SalesforceMobileSDK-Android/libs' )
include ':app'
include ':libs:SalesforceReact'
project( ':libs:SalesforceReact' ).projectDir = new File( libsRootDir, 'SalesforceReact' )
In this case, the path given in libsRootDir
did not exist (as these libraries actually came from a different repository which I cloned and then pointed this path to!).
Once I had corrected the path, save the settings file and reran, everything worked smoothly.
I hope this helps, Jonathan.
Solution 2:
I have faced same issue when i update android studio 3.0 and following solutions works for me
implementation project(path: ':yourModule', configuration: 'default')
This solution will work if you are using Gradle
4.1 and above and Gradle Plugin Version 3.0.0
and above.
I hope this will work for you
Solution 3:
I found this error too. So, I noticed that my settings.gradle was searching for a path that didn't exist. Example: (settings.gradle)
project(':YourProjectV1').projectDir = new File('../YourProjectFolderV1/app/');
However, in my filesystem, the path was: ../YourProjectFolderv1
After syncing the names, the project was ok!
I hope that helps.
Solution 4:
I ran into a similar issue with a different set of modules. I was finally able to resolve it by reinstalling the necessary modules via npm but with the --save
flag. i.e. npm install --save module-name
It looks like if you just have the .iml
file in the module folder, it's not enough for the android studio to resolve it.
Good luck.