How to link assets/www folder in Eclipse / Phonegap / Android project?

I am working on a PhoneGap app that is supposed to run on iOS and Android. My folder structure looks like this:

+-+-[app folder]
  |
  +-[android] (contains Eclipse workspace and project files)
  |
  +-[iOS] (contains XCode project files)
  |
  +-[www] (contains all html, js, css etc. files for the actual app)

It's easy to reference the www folder in the XCode project, everything there works fine.

However, creating a link to the www folder in Eclipse doesn't work as expected: I used 'Import -> Filesystem' to create the link under the existing assets folder and everything seemed to work fine. But the files are not getting copied to the apk during the build step.
Any idea what I am doing wrong?


Solution 1:

This can be accomplished creating a "Linked Folder" resource in Eclipse. It's essentially the same thing as what Xcode creates when you drag any file or folder into your project and tell it to create references - just nowhere near as easy.

The ADT Eclipse plugin expects an "assets" folder at the top level of your project, so we're going to create an /assets linked folder that references ../www, sitting right next to your project folder.

  1. File menu > New > Folder
  2. Folder name: assets
  3. Click Advanced >>
  4. Select: Link to alternate location (Linked Folder)
    • You can use Browse to select the www folder and you're done, but this option creates the link using a full path which will usually break on other team members' systems
  5. Click Variables...
  6. New
    1. Name: SIBLING_WWW_FOLDER
    2. Location: ${PROJECT_LOC}/../www
  7. OK
  8. Select SIBLING_WWW_FOLDER and click OK
  9. Finish

Solution 2:

For windows use this command mklink /D link-name target-folder and for linux/mac use ln to create a source link. Both works for me.

Solution 3:

Don't know how does it work in MacOS but I guess you can create a symbolic link with ln, putting your www folder inside Eclipse's assets. I do it both in Windows and Linux and work ok.