Recently after upgrading Gradle Android Studio automatically added this to my .idea/gradle.xml :
<compositeConfiguration>
<compositeBuild compositeDefinitionSource="SCRIPT" />
</compositeConfiguration>
What is the purpose of this change?
First there is several points to understand:
The file .idea/gradle.xml is used by Android Studio to store the Gradle project settings.
According to the Gradle documentation:
A composite build is simply a build that includes other builds.
According to the documentation of IntelliJ IDEA on which Android Studio is based, there is two ways to define a Gradle composite build either through the IDE or through the settings.gradle file.
According to the source code of IntelliJ IDEA the value of compositeDefinitionSource can be either SCRIPT or IDE.
To answer your question, the purpose of the compositeConfiguration element in the .idea/gradle.xml file is to define as a default the Gradle composite build by script. If you set a Gradle composite build through the IDE this value will change.
I have tried to clone the following repository on GitHub using Android Studio, https://github.com/AlexKang/favr.git, but I have the error:
Before this I selected build project using Gradle and then accepted anything it wanted to install. I am having similar problems with, https://github.com/mb16/RemindEm.git, where I get that
Each time I selected "create project from existing sources" and then accepted everything it suggested.
What am I doing wrong?
The projects have eclipse .classpath files in the folder. I'm guessing you should be able to import the project into eclipse.
As an alternative to using Eclipse you might want to try using a feature of IntelliJ IDEA (Android Studio's parent project). File > New > Project from Existing Sources... Then select the .project file for the import
What are .iml files in Android Studio project? I read that it is configuration file for modules. I do not understand how it works, and can't I just use gradle scripts to integrate with external modules that you add to your project.
Also, most of the time AS generates them, so I cannot control project behaviour. If I have a team that works in different IDEs like Eclipse and AS, is it possible to setup my project so it's IDE agnostic?
I don't fully understand how this system works.
What are iml files in Android Studio project?
A Google search on iml file turns up:
IML is a module file created by IntelliJ IDEA, an IDE used to develop Java applications. It stores information about a development module, which may be a Java, Plugin, Android, or Maven component; saves the module paths, dependencies, and other settings.
(from this page)
why not to use gradle scripts to integrate with external modules that you add to your project.
You do "use gradle scripts to integrate with external modules", or your own modules.
However, Gradle is not IntelliJ IDEA's native project model — that is separate, held in .iml files and the metadata in .idea/ directories. In Android Studio, that stuff is largely generated out of the Gradle build scripts, which is why you are sometimes prompted to "sync project with Gradle files" when you change files like build.gradle. This is also why you don't bother putting .iml files or .idea/ in version control, as their contents will be regenerated.
If I have a team that work in different IDE's like Eclipse and AS how to make project IDE agnostic?
To a large extent, you can't.
You are welcome to have an Android project that uses the Eclipse-style directory structure (e.g., resources and manifest in the project root directory). You can teach Gradle, via build.gradle, how to find files in that structure. However, other metadata (compileSdkVersion, dependencies, etc.) will not be nearly as easily replicated.
Other alternatives include:
Move everybody over to another build system, like Maven, that is equally integrated (or not, depending upon your perspective) to both Eclipse and Android Studio
Hope that Andmore takes off soon, so that perhaps you can have an Eclipse IDE that can build Android projects from Gradle build scripts
Have everyone use one IDE
Add .idea and *.iml to .gitignore, you don't need those files to successfully import and compile the project.
They are project files, that hold the module information and meta data.
Just add *.iml to .gitignore.
In Android Studio: Press CTRL + F9 to rebuild your project. The missing *.iml files will be generated.
Those files are created and used by Android Studio editor.
You don't need to check in those files to version control.
Git uses .gitignore file, that contains list of files and directories, to know the list of files and directories that don't need to be checked in.
Android studio automatically creates .gitingnore files listing all files and directories which don't need to be checked in to any version control.
I have got some open source projects which I want to have a try. But I want to use Eclipse if the project was made using eclipse; otherwise I would like to use Android Studio.
So how can I know by viewing the source code about the IDE used for the development of a particular project? Is there any metadata in any file which stores the IDE information?
I believe that Android Studio sometimes includes gradle related files. That's how I would check.
I'am developing a android application in Visual Studio and the Xamarin c# monodroid development tools.
I have some external JAR files that i embed into my projects. Most of the project work fine but when i try to embed the JAR from Yocto (yocto android lib) and place the YoctoAPI.jar into a new android project and link it as "EmbeddedJar" the compiler fails with the exception "generator.exe" exited with code -1073741819.
This is a NULL pointer exception in the generator and searching the net i found some people who have the same problem and tells me that obfuscated code is not supported (that i understand). But how can i find the obfuscated code in the JAR file? Or is there a other problem that i'am not seeing.
If i need to post more project settings or envirioment/system parameters, please let me know
Such issues with Visual Studio can be fixed by repairing it.
You need to repair Visual Studio. Go to Control Panel -> Programs. Then select your version of Visual Studio you are using and press "Change"(or right click it and press "Change"). When the setup appears, click "Repair".
I got same error while create binding project, in my case the problem is in resource file, you need to add the jar file and resource file like,
bin - contains all jar files,
res - contains all resource files,
and add the compressed 'bin' folder in your project and build works fine.