Cannot do new Image Asset in res folder - flutter

I want to do a new Image Asset in my res folder in my flutter project, to change the layout of my app icon. However when i right click on the res folder and chose New -> 'Image Asset' is no longer an option in my Android Studio... Anyone who knows how to fix this? I've been able to do it before. I've updated the Flutter plugin, but that didn't make any difference.

I'm new to flutter as well and as part of following the flutter course, ran into the same issue.
The following solution is with android studio version
Android Studio Arctic Fox | 2020.3.1 Patch 3
Build #AI-203.7717.56.2031.7784292, built on October 1, 2021
Runtime version: 11.0.10+0-b96-7281165 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 12.0.1
GC: G1 Young Generation, G1 Old Generation
Memory: 1280M
Cores: 12
Registry: external.system.auto.import.disabled=true
Non-Bundled Plugins: Dart, io.flutter
I found the 'Image Asset' option by following the below-listed steps
Right-click on the 'res' folder
Hover over 'Flutter' option and click 'Open Android module in Android Studio'
When a pop-up asks 'Where would you like to open the project?', select 'New Window'
Once the project opens in new window, expand the app directory to find 'res' folder.
Right-click on 'res' folder, click 'new' and you'll now see the Image Asset option

I want to clarify these answers, it's all there, but it's too confusing: You must create an images folder in the project. In most of my projects, I would create an assets folder, and then a subfolder of images. This won't work, must be a top level images folder.
Additionally, if you start your project in VS code. You have to start the project in Android Studio. You can always just start a new project, do your icon work and copy the folders over to your actual project.
But TWO things seem to interfere: If you don't have an images folder and if you did anything in VS code. I was guilty of both, and had to unwind both issues.
Start a new project in Android Studio
Create an images folder.
Add it to your pubspec.yaml in assets: Mine would look like this:
assets:
assets/images/
assets/sounds/
assets/
images/
Now you'll be able to right click on the res folder and see new image asset.
Do your icon work.
Copy the res folder over to your actual project.
Want to iterate: I put an image in the top level images folder, but I don't think it even needs that. It is looking for the folder, and you must have it. Somewhere in the code, a top level images folder is a condition to giving the image option.
Starting in Android studio will give the option, but it's greyed out.
Having the images folder is the magic key that opens the hidden door.

Go to menu file > open.... select android folder and click open.
wait until it finished loading then try to right click res folder again.
The Image asset menu will be shown.
discussion on this issue.
https://github.com/flutter/flutter-intellij/issues/3512

open android studio File->Open folder->navigate to your flutter project and select the Android folder. Wait for it to sync, then navigate inside the Android studio folder and find the res folder right click on it and choose New you will see the Image asset studio.

In the flutter project, the option won't be available...You can right-click on the android folder and go to the flutter menu and click the open project in Android Studio Option...Then the android project of your flutter project will be opened as an individual project...There you can use all the android studio's native functionalities.

It was not working for me as well. I cleared the build using flutter clean and the option was available after that.

Right click in res>Flutter>Open Android module in Android Studio
You will be able to see the image asset option after android module has opened in android studio.

Related

There is no pubspec.yaml file in android studio but project runs just fine how?

There is not pubspec.yaml file how should I edit it now?
The project is running just fine without any errors.
All you have to do is click the Android button in the upper left corner and select the Project button. You will see pubspec.yaml. If you don't see pubspec.yaml, you can leave a comment.
Well, you have opened the android folder which is inside the main folder.
The flutter has the file structure as
The pubspec.yaml file resides in the main folder
Flutter cannot run without pubspec.yaml file. You are just looking into the android file of it.
Android View
Project View
Instead of android choose project from the drop down menu and you can see pubspec.yaml file again

Move Root Folder of Flutter Project

When working on a Mac with Flutter in Android Studio (Arctic Fox 2021.3.1 Patch 4 and XCode 13.1 and/or 13.2):
If you move the root folder of your Flutter project using Finder, then open it in Android Studio and run it, the original folder location is still re-written (multiple sub folders with empty contents, usually, but not always).
Also, the moved project will no longer build from within XCode.
This means that if you don't know the final desired location for your project at the time you create it, you will not be able to move it without weird stuff happening.
How can you move a Flutter project that was created with Android Studio without it having weird side-effects?
More info on how to reproduce:
Close all IDEs
Open Android Studio
Using Android Studio, create a new default FLUTTER project using Java as the Android code choice
Using Android Studio, run this project on an Android Emulator
Using Android Studio, run this project on an IOS simulator
Using Android Studio, open the project in XCode (right-click ios folder and select Flutter\Open project in Xcode)
Using XCode, run the project on an IOS simulator
[everything should have worked so far]
Close all IDEs
Using Finder, move the project folder to a new location that is at the same depth as its current folder, but with a different parent folder. Meaning if current location is: [root]/x/y/a/my_project_original, the destination would be: [root]/x/y/b/my_project_copy
delete the original folder and remember where it was
Using Android Studio, open the project from its new location
Using Android Studio, open the project in XCode (right-click ios folder and select Flutter\Open project in Xcode)
Attempt to run on IOS simulator
[observe error - "Command PhaseScriptExecution failed with a nonzero exit code" // "file not found exception"]
Using Finder, check to verify original folder location has NOT been re-written
Using Android Studio, run the project on Android emulator
[observe that original folder has been re-written!]
Here are the steps I follow to move a project's location on my mac :
Close your project on Android Studio (File > Close Project)
Close Android Studio
Move your project to your new location
Open Android Studio
Delete your project from the Recent Projects (on the list of Recent Projects, click on the Settings icon on the right, and "Remove from recent projects")
Click on "Open" and select your project in the new location.
Delete the .idea file and build/ folder
The steps should be the same within XCode (in the main window, remove the old location from your recent projects, and Open the new location)
You can move your Flutter project anywhere, as long as you don't move the files inside the project relative to each other.
A note about pod install: If you are immediately running from Xcode, you need to run pod install inside the ios folder after adding a plugin to your pubspec.yaml. If you run flutter run or use Android Studio to run it, that will run pod install for you automatically. However, you don't have to run pod install after moving the project, I've just tested it.
If you move the root folder of your project using Finder, then open it
in Android Studio and run it, the original folder location is still
re-written (multiple sub folders with empty contents, usually, but not
always).
This only happens if you kept Android Studio open when moving the files. You shouldn't open the old project reference in Android Studio, you should open the project using File > Open....
Also, the moved project will no longer build from within Xcode.
If you provide the errors, that will help us help you.
How can you move a Flutter project that was created with Android Studio without it having weird side-effects?
I have not found any side effects of moving a Flutter project. Quit Android Studio if it is running, and open it using File > Open.... Or if you are in terminal, run (if installed using Jetbrains toolbox) open -a ~/Applications/JetBrains\ Toolbox/Android\ Studio.app/

Android studio not showing project files

Please I have been working on a flutter project on android studio, and at one point I found myself with this situation, the project files on the left is not showing, there is this loading icon
enter image description here
Android Studio started opening my Flutter project as an Android-only project for some reason. Deleting the .idea folder at the Flutter project root removes all the IDE settings. Reopening the project after that fixed it for me.
Change that Android on top Left to Project i think this will fix it
Invalidating cache and restart will solve your problem.
From the main menu, select File | Invalidate Caches.
Click Invalidate and Restart.

Cannot drag and drop images to the images folder in android studio

As new to flutter i am unable to drag and drop images in android studio.
Android studio gives a message when i try to drag and drop the image in the images Folder.
"move refactoring is not available while indexing is in progress android studio"
Simply place(copy and paste) your images to where the project is available in the Computer Directory, like if C:\flutter_project\images\image1.jpg.
Place your images in the Project Directory directly and it would appear in the Project Structure of IDE.

Error: Entrypoint isn't within the current project

Unable to run flutter from Android Studio not detecting flutter project its shows Error: Entry point isn't within the current project
Every time restart android studio same error message shows
Delete the .idea folder inside the root of the flutter project and restart Android Studio.
Refer to this question: What is the .idea folder? and make your decision if it's safe or not to delete .idea folder.
Click on File-> Project Structure -> Module then add root folder of
your project then it will detect its a flutter app and then build and
work
its work for me
Reference: https://github.com/flutter/flutter-intellij/issues/2307
1) make sure flutter and dart sdk paths are properly configured from
File-> Settings..->Languages and Frameworks
as well as make sure Dart support is enabled for project module from Dart Option
2) at the end select File->Invalid caches and restart
3) so after 2nd step you may get in File->Project Structure.. option from there Select Modules then just simply add only root folder path of your flutter project and repeat just above 2nd step
for me this worked
Syncing your project with gradle files will solve it:
You can sync the files with Gradle, within the File menu.
Else You can re-include the files/project root folder inside the File Menu.
File -> Project Structure -> Module
And then add the root folder of the project(with + icon), then it will detect that it's a flutter app again, and then build and work again.
Try delete .idea folder inside project folder and Invalidate & Restart Android Studio.
For me my project was missing the pubspec.yaml file, it was deleted by mistake , instead of warning about the missing file , I got this error
This problem happened to me
I solved it this way
Go to the Android Studio track
I have this way
C:\Users\mustafamaxL\.AndroidStudio4.0\system
Remove folder (caches)
Then, start Android Studio again
If your ios, android, or lib folders are missing, it typically means there is something wrong with your project structure.
To fix it, delete the .idea folder in the root of your project and then restart Android Studio. If you're using a Mac, you can display the hidden .idea folder by pressing Command+Shift+Dot in Finder.
The .idea folder will be automatically regenerated and everything should be back where it belongs.
See this post for the original solution.
Click Content Root Close Icon and Remove Android Folder.
Fix it to me.
I faced the same issue today and tried other solutions here but it wasn't worked at all.
In my case I deleted three folders that is android, ios, and .idea from project directory, then restarted android studio and finally I gave this command in Android Studio's Terminal.flutter create . to create appropriate directories (i.e., android & ios).
Now it is working fine.
Note: Before deleting the android / ios directory please make a backup of these directories only if you previously gave native code in android / ios directory.
Hope this solution will helpful if others will not work.
The .idea folder will also be deleted on Linux. When Andriod Studio opens, click terminal at the bottom in Android Studio. Then type remove -r .idea/ in the terminal and press enter. After deleting, close and restart Android Studio.
You might need to update the Gradle version. Or change the minimum android SDK version.
Here is worked for me:
Update Gradle / minSdkVersion version
Reopen the project but at the directory user/StudioProjects/yourFlutterApp/android.
After it is opened it will load some packages (see right bottom), which will take some time.
It will ask you to update the Gradle version (right-left corner) or go under File>Project Structure Project you can set a higher Gradle version and under Modules variables of your build
Now you can sync your project with Gradle files
After configuration, you might need to restart your project with File>Invalid Caches/Restart....
I have created 2 folders inside lib's folder for my *pages* and *widgets*.
Getting the main.dart file back to the **lib folder** will do the trick
I'm currently in Android Studio Electric Eel.
I've done all of the suggested solutions above, but nothing works.
Turns out the project is not detected as a Flutter project. So what I do to resolve this issue is to remove gradle-related files from the root folder:
build.gradle
gradlew
gradlew.bat
gradle/