diff --git a/python/mozbuild/mozbuild/backend/android_eclipse.py b/python/mozbuild/mozbuild/backend/android_eclipse.py index 315b848610e1ec..b46def33d8f1c3 100644 --- a/python/mozbuild/mozbuild/backend/android_eclipse.py +++ b/python/mozbuild/mozbuild/backend/android_eclipse.py @@ -122,6 +122,12 @@ def _manifest_for_project(self, srcdir, project): if project.res: manifest.add_symlink(mozpath.join(srcdir, project.res), 'res') + else: + # Eclipse expects a res directory no matter what, so we + # make an empty directory if the project doesn't specify. + res = os.path.abspath(mozpath.join(os.path.dirname(__file__), + 'templates', 'android_eclipse_empty_resource_directory')) + manifest.add_pattern_copy(res, '.**', 'res') if project.assets: manifest.add_symlink(mozpath.join(srcdir, project.assets), 'assets') diff --git a/python/mozbuild/mozbuild/backend/templates/android_eclipse_empty_resource_directory/.not_an_android_resource b/python/mozbuild/mozbuild/backend/templates/android_eclipse_empty_resource_directory/.not_an_android_resource new file mode 100644 index 00000000000000..8ffce06921b748 --- /dev/null +++ b/python/mozbuild/mozbuild/backend/templates/android_eclipse_empty_resource_directory/.not_an_android_resource @@ -0,0 +1,5 @@ +This file is named such that it is ignored by Android aapt. The file +itself ensures that the AndroidEclipse build backend can create an +empty res/ directory for projects explicitly specifying that it has no +resource directory. This is necessary because the Android Eclipse +plugin requires that each project have a res/ directory.