I've recently updated the android studio IDE to 0.8 to work with the new android L SDK. To start I imported a finished android project that receives no errors in the older version of android studio. In version 0.8 i lines such as
import android.support.v4.app.Fragment;
get: Support cannot be resolved causing the rest of the code to have errors. The logcat returns 101 instances of
Error:(8, 30) error: package android.support.v4.app does not exist
1 for each time I call the support library in an import statement.
I've tried
not entirely sure what's left to do.
Ok, so I had the same problem and found a solution in a udacity forum:
In Android Studio:
@boernard 's answer solves this from the Android Studio IDE, but if you want to understand what's happening under the covers, it's a simple gradle build file update:
You can edit the build.gradle file from within the IDE (left pane: Gradle Scripts -> build.gradle (Module: app)
) or use the raw path ( <proj_dir>/app/build.gradle
) and add/update the following dependency section:
dependencies {
//
// IDE setting pulls in the specific version of v4 support you have installed:
//
//compile 'com.android.support:support-v4:21.0.3'
//
// generic directive pulls in any available version of v4 support:
//
compile 'com.android.support:support-v4:+'
}
Using the above generic compile directive, allows you to ship your code to anyone, provided they have some level of the Android Support Libraries v4
installed.
None of the above solutions worked for me. What finally worked was:
Instead of
import android.support.v4.content.FileProvider;
Use this
import androidx.core.content.FileProvider;
This path is updated as of AndroidX (the repackaged Android Support Library).
[for some reasons this answer is related to Eclipse, NOT Android Studio!]
Have you tried setting the support libraries to your class path? This link from the Android Developer's website has some info on how to do that.
Try following these steps from the website:
Create a library project based on the support library code:
Create a library project and ensure the required JAR files are included in the project's build path:
You now have a library project for your selected Support Library that you can use with one or more application projects.
Delete
/.idea/libraries
Then sync gradle to build project.
// run this commend - its fixed everything
ionic cordova plugin add cordova-plugin-androidx-adapter
tl;dr Remove all unused modules which have a dependency on the support library from your settings.gradle
.
Long version:
In our case we had declared the support library as a dependency for all of our modules (one app module and multiple library modules) in a common.gradle
file which is imported by every module. However there was one library module which wasn't declared as a dependency for any other module and therefore wasn't build. In every few syncs Android Studio would pick that exact module as the one where to look for the support library (that's why it appeared to happen randomly for us). As this module was never used it never got build which in turn caused the jar file not being in the intermediates folder of the module.
Removing this library module from settings.gradle
and syncing again fixed the problem for us.
In my case the error was on a module of my project.I have resolved this with adding
dependencies {
implementation 'com.android.support:support-v4:20.0.+'
}
this dependency in gradle of corresponding module
在 ECLIPSE LUNA 中,我通过在我的项目中使用 contet 菜单解决了这个问题:ANdroid Tools > Add support Library ...
在我的情况下,通过将字符串cordova.system.library.2=com.android.support:support-v4:+
附加到platforms/android/project.properties
文件来解决问题
For me the problem was caused by a gradle.properties file in the list of Gradle scripts. It showed as gradle.properties (global) and refered to a file in C:\users\.gradle\gradle.properties. I right-clicked on it and selected delete from the menu to delete it. It deleted the file from the hard disk and my project now builds and runs. I guess that the global file was overwriting something that was used to locate the package android.support
My solution was creating a project with Use legacy support library
option checked
. after the project creation is successfully completed, just delete
the src
folder in the app directory and copy
the src
folder from your main project. Finally, Sync
project with Gradle files.
Add this to build.gradle:
allprojects {
repositories {
google()
}
}
dependencies {
implementation "com.android.support:support-core-utils:28.0.0"
}
*Must have minSdkVersion 14 (or higher)
If none of these solution worked, you need to jetify your project to fully support AndroidX. Try
npm i -D jetifier
then run
npx jetify
you could find more details here : https://github.com/michalchudziak/react-native-geolocation/issues/39#issuecomment-514566895 ,this should fix the issues. Let me know if this worked.
and also make sure to add below in gradle.properties
android.useAndroidX=true
android.enableJetifier=true
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.