hitzi
hitzi

Reputation: 852

How to use a Android Studio project on two computers?

I use two computer for coding. My desktop pc and the notebook. I sync the two computers with dropbox. How can I import/load a project on each of this two computers? The project base folder is different on each computer. When I try to load/import a project which is created on the other computer it loads the project but I got a error with a wrong path.

"Gradle "Test2Project" project refresh failed: Could not fetch model of type "IdeaProject" using Gradle distribution "http://services.gradle.org/distributions/gradle-1.6.zip". Project directory "C:\Users\thomas\AndroidStudioProjects\Test2Project" does not exist."

The wrong pfad is the right pfad on the other computer. How can I import Android Studio projects so that it works even on another computer with a different folder structure?

Upvotes: 14

Views: 16800

Answers (4)

zreptil
zreptil

Reputation: 240

I know this was questioned about 4 years ago, but this is up to now still an issue. Using a VCS seems like a good solution, but for me it is simply more overhead than i want to have. I also use Dropbox to synchronize my folders and the history they provide is for my private programming needs good enough. So i think, it would be good, if android studio simply uses relative paths.

I know it needs some system paths and it does a good job in looking at the local.properties and setting it to the correct place when the project is loaded.

The main problem with using Dropbox are the build-directories. There are many many references to fully qualified paths in the files within these directories. So my solution was to exclude the build-directories from Dropbox-synchronisation.

When you work at your laptop, build the app, create new files, change files or delete files, the build on your pc will be completely outdated when you switch back to it. but android studio will recognize this and do a fresh build when you start your project for the first time after working on the laptop.

so the biggest problem at this point is the file local.properties and this is handled correctly by android studio. it may be a good idea (or a really bad one, i don't know the drawbacks) when the build system wouldn't write fully qualified paths in the files within the build directory.

But up to now this is my solution for using Dropbox and not using a VCS:

exclude build-paths from Dropbox synchronisation

i hope this helps somebody.

Upvotes: 1

Jesse
Jesse

Reputation: 735

This is a problem I have ran into when trying to store Android projects in a Dropbox folder. What happens is that Machine 1's IDE is mapping system resources (like the SDK) as being in that machine's filesystem. When you go to Machine 2, everything will work EXCEPT for what you expect--because the SDK will probably be in a different spot!

One way to get around this is to use your VCS (dropbox, git, whatever) as a repository for JUST your source files, and then have a local project created on each machine that reads from the Dropbox folder. This requires two separate projects that are mapped differently, but that have the same source folder.

I discovered this problem when I tried to load up an Android project on a new install on a Mac machine:

New Android Studio install wants to rewrite SDK location

Do you see what's happening there? My Mac Android Studio is saying, "Hey, I don't see where "C:\Android\SDK is, but I do see that you have an Android SDK in a different folder, so I'm going to update your project files to reflect the actual location of the SDK."

In my opinion, the only way around this is to create your project on both machines, and version control your source and assets folder. If you don't create the project separately on each machine and use VCS for just the source and assets, the only way to get around build and filepath errors is to store your SDK in the same folder on each machine. This worked for me when I was building on a Windows desktop and Windows laptop, but no longer works for me since I am using a Macbook Pro.

Upvotes: 1

rafaello
rafaello

Reputation: 2435

Go for git, you can use bitbucket.com as a free remote repository.

Upvotes: 3

rivare
rivare

Reputation: 827

Like the others i agree, that using a VCS would be the best solution. Even though you can try to filter all android studio related files (like *.iml, .idea folder and local.properties). I don't know if you can do this with dropbox or if you need some kind of 3rd software.

After that you should be able to make source code changes on both computers without greater problems. (You may have to declare project dependencies changes for the android studio twice) Builds depending on the build.gradle files should work to. But again: using a VCS is the better way to go.

Upvotes: 3

Related Questions