I have opened android plugin of Firebase Auth but I cannot access flutter dependencies. What can I do to be able to use features like autocomplete?
When I run the code, everything works fine.
Alright, there is an easy solution for that!
Open Android studio and open the map viewer and make sure you are in the Project view.
Now create a new directory and call it something like tmplibs.
Alright, now navigate to your Flutter SDK directory. So where you cloned the Flutter repo. Then open the bin folder, after that the cache folder, followed by the artifacts folder, now open the engine folder and finally open the android-x64 folder.
So the path will look something like this:
...\flutter\bin\cache\artifacts\engine\android-x64
In here, you'll find a file called flutter.jar. Copy that and paste it in your new tmplibs folder!
Now right click on the flutter.jar file in project view in Android studio and click on Add As Library...
Now open your module settings
Finally click on Dependencies and changes the scope of tmplibs/flutter.jar to provided.
That's it!
A better solution is to use the android project of the example app instead of the library. See this issue response on github: https://github.com/flutter/flutter/issues/11632
Bram Vanbilsen's solution resolves the problem. But comment the implementation line in build.gradle file after building the plugin.
dependencies {
implementation files('tmplibs/flutter.jar')
}
If you run the example app without commenting the above line, it produces Duplicate dependencies error as the flutter source is included in the example app's build.gradle file.
Related
I have a set of utils and custom widgets that I want to pull out of my project as an Android library so that I can use them in other projects (and possibly share in the future). I created a new Android Studio project and changed the build.gradle file so that 'com.android.application' was 'com.android.library' and deleted the applicationId. It all compiles fine and I have a .aar file created.
I now want to use this new library as a module in my original project. When I do an Import Project, all the files from the library project are copied into my original project. But I don't want that because if I change the imported library code, it isn't reflected in the library project or vice versa.
I also tried adding this to settings.gradle:
include ':myutils'
project(':myutils').projectDir = new File(settingsDir, '../../../../Development/MyUtils/')
and in the original project app build.gradle:
dependencies {
implementation project(':myutils')
...
But I get this error:
ERROR: Unable to resolve dependency for ':app#debugUnitTest/compileClasspath': Could not resolve project :myutils.
Show Details
Affected Modules: app
How can I link the library to my project without importing it? I would prefer not to go through an external maven repo yet. I'm happy to (and would expect to) recompile my library whenever there is a change there and then rebuild my original project.
Thank you in advance.
I think I just had the same problem - I wanted to put the library .aar file somewhere on my local drive and then use it in a new app as a dependency. I didn't want to have to go through a repo or to include it in the libs folder in the new app. Hopefully that is what the OP asked and the following might be of help to others.
Searching on SO (Aug 2021), majority of answers seemed much more involved than what Android Studio offers (tested on version 4.2). That is, an .aar file that lives outside the app project can now be added as an implementation file in the gradle dependencies. So, it doesn't have to go through a repo, and it doesn't have to be included in the libs folder in the project.
The current documentation (Aug 2021) gives a fairly straightforward answer how to do it:
https://developer.android.com/studio/projects/android-library#psd-add-aar-jar-dependency
In short, if you have put your .aar file somewhere on your local drive, this is how to add it as an implementation file in another app project:
In Android Studio, in your new app project, go to: File > Project Structure > Dependencies.
In: Modules > app > Declared Dependencies, click '+' and select 'Jar Dependency'. (Even though you are trying to use an .aar file, you still select 'Jar Dependency').
In the 'Add Jar/Aar Dependency' popup dialog:
in step 1 enter the path to your .aar file on your local drive, and
in step 2 select 'implementation'.
If everything worked out, your build.gradle(Module) should have a line in the dependencies that looks like:
dependencies {
implementation files('../../../MyFolder/MyLibraryFile.aar')
A few notes:
You can actually just add the dependency manually, by typing it into the build.gradle(Module) dependencies, so you don't actually have to go through the Android Studio dialog outlined above.
you can either use a relative path (as the example above), or an absolute path.
the Android Studio dialog is somewhat limited in that you cannot just browse to your file (in point 3, step 1), but you have to actually enter the path manually.
Probably the most important: Whenever you make a change in the library and assemble a new .aar file, then remember to do the following in your app project that uses the .aar file as a dependency: Clean Project, then Sync Project with Gradle Files, and only then run the app, so that the changes in the library could take effect in your app.
I have been using Phgr's above technique for four years. I have three comments -
First, I don't clean the app project each time I change the library - I just do a Sync Project before building and testing the app.
Second, I changed the File-Settings-Keymap-Main Menu-File-Sync to Alt-S for easy of syncing - I hate wasting time using the mouse for selecting the Sync icon.
Third, I have an implementation line in the app's build module file for each app variant such as the following -
debugImplementation files('c:/Android Studio Projects/PciLibrary/app/build/outputs/aar/PciLibrary-debug.aar')
releaseImplementation files('c:/Android Studio Projects/PciLibrary/app/build/outputs/aar/PciLibrary-release.aar')
All of this is working fine with Android Studio 4.2.2 and sdk version 30.
Hope this helps others with this problem
When I uploaded a project on github, it automatically created a new repo with the project name. Now, I want to add another project on my repo. The thing is I want all of my android projects on the same repo. How do I do this?
The new project I want to add is throwing me error like "remote with selected name already exists".
The github error when trying to push.
EDIT:
Now when I created a folder in my system and tried uploaded it using this link, some of my projects aren't opening.
What's this? Any help is widely appreciated!!!
Right way todo this. follow these sample steps or you can add it manually
Check out git repo and open it in Android Studio.
Choose Import Module from File > New
Copy your project folder path and past into source directory: click finish that you want to add in existing repo. This will allow you to switch between projects right from Android Studio.
Commit and push your code.
Note: Make sure you don't have app with same name. by default it says app
You cannot upload all projects on the same repo. You have to do it manually.
or you can make a folder and then place all your projects inside it.
You can't create two repositories with the same name. If you want to put all your projects in same repository, you could either create separate directories under same git or , you could create separate branches.
My problem is adding a library to my project in Android Studio. In module dependencies I'm gettin this weird thing. Any help will be appreciated.
Here is the pic:
android libraries are usually come as links to sources not as jars or some other type.
Take a look at the image. Do you see that there are actually 2 build.gradle files? what you need is the (Module:app) gradle build file select that and paste the link in the dependencies part in the bottom of that file just like what i have done , then Android Studio will ask you to sync the file. Do it. It will download the dependency from your link provided and integrate with the project
Hope this helps..
I am getting the error that is pictured above when I try to build my project in Android Studio.
The file that is mentioned in the error does not exist in that folder. I tried to delete the entire folder hoping it would re-download the needed file. It did re-download the folder but again it did not have that file.
I am not using this file anywhere in my project and as far as I know.
Any help would be greatly appreciated.
Thanks.
Maybe the path of file is too long that it is unable to process it. In my case, it was:
C:\Users\ber$erk-kAjU\Downloads\Compressed\android-xmpp-asmack-sample-master\android-xmpp-asmack-sample-master\XMPPAsmackSample\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\21.0.3\res\drawable-ldrtl-xxhdp
As you can see, it is huge! I just moved my project to another path, and reduced it to:
D:\AndroidStudioWorkspace\XMPPAsmackSample\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\21.0.3\res\drawable-ldrtl-xxhdp
Maybe this can help!
Use
Build > Clean Project
To clean the build directory.
I think you are using AppCompat library in your build.gradle file
dependencies {
compile 'com.android.support:appcompat-v7:+'
}
In order to use any support library in dependency make sure you have downloaded Android Support Repository from SDK manager
After downloading the repository, do sync the project with gradle using tiny gradle button available in toolbar.
After sync completion you will be able to see mentioned png file in directory as shown :
Inside the directory.
EDIT :
If still doesn't solve check the whether your sdk pointing to right sdk from File > Project Structure > Android SDK
Also check this Import Google Play Services library in Android Studio for AppCompat Library
If there is some issue make it correct ans sync project with gradle.
I'm using git, and creating lots of git branches for new features on a project I'm working on. Every once in a while, I'll create a new branch off master as usual (let's call this broken-branch, and this error appears:
Android Source Generator: [demo] AndroidManifest.xml file not found
I'll create a new branch off master, cherrypick the changes on broken-branch onto this one, and everything works fine. Why do I get this error, and how can I avoid it?
This happened to me today.. I clicked "Sync Project with Gradle Files" and all went fine.
While my IDE is IDEA13 with maven. Work fine with maven in command line, while using IDEA run( shift + F10) show this error. I do as below and fix this:
1.Open .iml in the project root.
2.Find some line like:
<option name="USE_CUSTOM_COMPILER_MANIFEST" value="true" />
3.Remove this line or change value to false.
This is my work way.
May Help.
I use IntelliJ Idea and found next solution:
in the root of the project (in catalog with root build.gradle) create file settings.gradle which consist include ':app'
Than go to IDE and run Gradle - refresh.
I know the problem in IDEA because you create a new project with Java configuration (not android, but with android sdk dependency)
File > New Project > Java (Java Module) > Project SDK Android 4.X
Here is the solution :
File > New Project > Android (Application Module)
If you are using Maven, backup the project and close it. Open IntelliJ and select Open..., choose the pom.xml file and then select yes to open this project. Because there is already a project a popup should appear, choose 'Delete Existing Project and Import'.
Note: I'm using IntelliJ Community Edition version 13
When I get "AndroidManifest.xml file not found" error I clean and then refresh the project and these steps seem to fix the problem.
It happens to me when I don't have .iml file to open the project. It's very easy to fix, you just need to close the project and reopen it taking care of select build.gradle file before click open.
I hope it helps somebody.
This worked for me.
My project already had a settings.gradle file.
I simple had to add the line include ':app' . N ow i can build and do everything.
open IDE
project
|--->build automatically
uncheck it
clean the project
check build automatically opriot
I just had this problem while trying to build the swagger code gen project. For whatever reason IntelliJ thought I should have an Android facet. Removing this facet allowed the entire project to build.
If in case, you encounter an error which shows:
AndroidManifest.xml file is not found
All that you have to do is reinstall the flutter package and the error is resolved!!!
Go File,Project Structure or press Ctrl+Shift+Alt+S,
Go Facets, Select your android project, in the structure there are configuration files, folders. Image of structure tab (before)
Location of AndroidManifest file was like this:
D:\Programming\Dart Flutter Projects\tip_calculator\AndroidManifest.xml
Change the location like this.
Image of structure tab (after)
Changed it to here:
D:\Programming\Dart Flutter Projects\tip_calculator\android\app\src\profile\AndroidManifest.xml
flutter upgrade --force
Helped me.
Works for you?