My project was initially not meant for Android, and its assets are organised along the following directory structure (I hope the ASCII art renders reasonably well):
/
+- engine/
| +- src/
| | enginefile1.cpp
| | ...
| `- textures/
| texture1.tex
| ...
+- game/
| +- src/
| | gamefile1.cpp
| | ...
| +- textures/
| | gametexture1.tex
| | ...
| +- ios/
| | [various iOS-specific files]
| `- android/
| | build.xml
| | AndroidManifest.xml
| +- jni/
| | Android.mk
| +- assets/
| [other Android-specific files]
`- othergame/
My game/android/jni directory is almost empty because Android.mk points to the relative paths of the source files in engine/src and game/src. Actually, it even includes the proper Makefiles so that I never have to modify Android.mk when I add or remove a source file to the project.
Both engine and game provide assets that need to be shipped with the Android build. I would like build.xml to refer to these assets without having to manually copy them. A rule that copies the assets at build time then deletes them would be acceptable, but of course I would prefer a zero copy solution. Does this make sense? How did others solve this cross-platform build problem?