Is it possible to split an Android project so I can like create a "module", or similar, with one environment e.g. Eclipse and using another environment to do everything else e.g. Android Studio? And to make them communicate with eachother or converting everything to Eclipse would take less time to develop?
I've created a project in Android Studio and now after alot of work I found out I need to convert to Eclipse as Android Studio does not offer the support it requires for Google API.
Related
Why don't we have a file similar to the .xcodeproj (for XCode applications) or an .xds (for Sencha Architect Projects) for our Android Studio Project?
I'm pretty sure a good number of you here have experienced the frustration of trying to import a project you see online in order to piece it apart better and learn how it works. I get that we are supposed to Import Android Projects built using Eclipse and Open Android Projects built using Android Studio.
However, why is it that we have to go through File -> Open -> then pick out the directory of the Android Studio app that we want to open? And the thing is, Android Studio doesn't seem to know it's an Android Studio project until it tries to open and build it. In the screenshot I have below, I have the sample Android Studio projects of ARToolKit, but I've only imported two of them.
As you can see, only those I've imported "can be seen as an Android Studio Project" as indicated that they have the Android Studio logo instead of a Folder.
This can be an issue for those just starting to develop in Android Studio on their own and they try and use existing projects (build from Eclipse or Android Studio) and they hit a snag with just trying to import the projects for reference. They might not know that they should import the folder and not the projectname/src subfolder. It adds to the "steep learning curve" that Android Development has if opening/importing projects aren't streamlined to a degree.
To sum up, my question is:
Why don't we have a single file that we can open that would in turn open Android Studio and import and build the project if it isn't built yet?
Android is not iOS. iOS development is only possible in xcode, hence it makes sense they added a shortcut to open it in xcode directly with a .xcodeproj file. Make life easier for iOS developers.
Android development however can be done outside of android studio as well. Eclipse is just one example, there may be other IDE's that support this. This is possible because android has standalone SDKs and tools that third party applications can use. iOS does not.
Imagine you are working on an android project in android studio. Then your boss tells you someone from 3000km away is going to help you. This guy may be using android studio, but maybe he isn't. When there are multiple options that developers can choose from individually, you do not want to pollute version control with files that you are using, but others may not care about. Each their environment.
This is merely a logical conclusion that you can come to by comparing. The "real" reason why this was done can only be answered by the people that created (adapted intellij) android studio.
This has been very frustrating to me too.
I try to give you a "beta" answer, waiting somebody to confirm it to me.
An Android project is just the composition of many parts that in some cases are concurrent to create the apk file.
It's just like what happens for the whole java projects: you have the main/src/java, the main/src/test, the maver or gradle files, the gradle or maven wrapper, the manifest, the configuration etc.
So you won't have a single project, but a series of folders that can contain many "flavours" or "versions" of the product itself.
The only help it is given to us is the Android studio icon that appears if a folder contains an android project in its subfolders.
I don't know if I have really answered to you, I just have given you my impressions and my thought.
While creating Android environment in eclipse, I receive this error:
Folder can't be moved because it's open in another folder
, and when updating, it all fails as Eclipse doesn't find the SDK location, because emaluator.exe file is no longer existing as part of the tools of the SDK. I have preinstalled system-image, etc. Any ideas on how to fix this issue without re-installation?
As a beginner and as now Google has their own IDE for developing Android App, you better should start your development journey with Android Studio. It is powerful, beautiful and very easy to use. Why you are using Eclipse still now? If you use Eclipse, you have to install Android SDK, Android Emulator. And you are getting all the tools in one place with Android Studio.
Moreover, Android Studio has IntelliJ engine inside. It is known as the best java ide. Super auto code completion, intelligent code inspector and so on.
Android Studio has become the way to go for Android developers now-a-days. It is easier to use because is based on the IntelliJ Idea which is per se a much better java programming environment than eclipse, it predicts way better what you may need to write, and google has made it so that you have all your interface, simulator and code all in the same environment. On top of that google won't update the Android SDK to work with Eclipse anymore!
I've installed VisualStudio 2015, Xamarin, and MonoGame 3.5. I'm going to build my XNA app for Windows UWP, iOS, and Android.
I've some libraries based on XNA... and I need to build them for the three target systems (Windows UWP, iOS, and Android), but no way to create a library for Windows UWP. I've tried to create a MonoGame Windows 10 Universal Project, but such a project cannot be converted to generate a DLL.
I've also tried to create a Class Library (Universal Windows) project, but then I was unable to add MonoGame.Framework to the references.
I've the same problem when creating a MonoGame Android Project... no way to switch to a library project. The only MonoGame project that can be modified to be a library project is MonoGame iOS Project.
That said, how can I create a class library based on XNA (MonoGame) to be used from UWP, iOS, and Android?
As far as I know you've only got 2 options here.
Portable Class Libraries
Shared Projects
I haven't really used Shared Projects much. The way I understand them is that they allow you to share code between multiple projects as if it lives in a library but it actually gets compiled directly into the referencing project. They can be thought of like advanced file linking.
Portable Class Libraries are a bit of a different beast. I've used them in the MonoGame.Extended project with great success, but it wasn't always easy. The way they work is to provide a subset of functionality that works on all target platforms. They compile to a DLL that can be referenced by any of the projects and you can be confident the code will be the same.
There are a couple of downsides of using a PCL:
you can only use a subset of functionality. Surprisingly, this doesn't get in the way too often.
if the PCL references another library, it also has to be a PCL.
The second point is where things get a little tricky with MonoGame. Typically, MonoGame isn't shipped as a PCL, but a PCL version has been published on NuGet that can be used.
As it stands right now, the NuGet package is a version behind the official release but surprisingly that doesn't really matter because it's a bait and switch PCL which essentially means it just provides the interface to the real DLL that gets used at runtime. In other words, your game will still happily reference version 3.5 even if the PCL is version 3.2 so long as the interface hasn't changed.
There is some talk about improving this situation in version 3.6.
I noticed MonoGame projects are built using .Net 4.5 by default. Regular class libraries default to the latest installed version of .Net which in my case was 4.5.2. I was able to reference a regular class library by going to its project properties and setting the target framework to 4.5. Hope this helps.
I'm trying to follow tutorials on Android but the default project that Android Studio creates has stuff like PlaceholderFragment and fragment XML files.
I'm having trouble following any of these guides because they all expect you to use Eclipse, which creates a different standard project without all this fragment code.
Should I just switch to Eclipse?
I would recommend synchronizing your tutorials and tools. Right now, that probably means switching to Eclipse. Android Studio is still an early-access previews. I don't recommend that newcomers to Android start with Android Studio, in part because of the struggles that you are encountering. Android Studio uses project structures set up for the new Gradle-based build system, which is different from what Eclipse uses. Plus, the wizards may generate different files, as you are seeing.
Now, if you can find a set of tutorials that happen to be based on Android Studio, and you want to go that route, that's your call. But a newcomer to Android trying to translate instructions for Eclipse into instructions for Android Studio is likely to get frustrated. So, if your tutorials are for Eclipse, I would recommend using Eclipse.
I've already written a game engine in java using eclipse and opengl es, I had one project (an android project) which contained both of my packages
com.logic.engine
com.logic.testapp
I wanted a way to keep my engine and test app seperate, I've made an earlier post about how this is done, and I figured out how to reference one project in the build path of another (or just creating a jar file).
My problem is that, lets say I now have my engine all wrapped up in an android project com.logic.engine, and now someone would like to use this engine to create a game, so they create an android project com.someclient.game, well now because we have one android project referencing another, it crashes everytime.
Now obviously i need the android sdk in my engine package in order to reference things, but its also required on the client app, since the activity is what is actually being run by android.
I guess my question is, how can i create a project for my game engine without it being an android project, but still referencing the android sdk, and without causing it to crash the client app using it?
edit:
note: the client app utilizes the engine flawlessly when its in the same project folder, it isn't until the engine is referenced from another project containing the android sdk that it crashes, so im 99.9% positive it has nothing to do with my code
Your game engine project should be an Android library project. See Working with library projects.
Use an Android library project.
Just a fix for the two links above that no longer work
Android Library Project
Example Library Tut