diff --git a/pythonforandroid/bootstraps/common/build/build.py b/pythonforandroid/bootstraps/common/build/build.py
index dcb6d2ac3b..156de5eae2 100644
--- a/pythonforandroid/bootstraps/common/build/build.py
+++ b/pythonforandroid/bootstraps/common/build/build.py
@@ -4,7 +4,7 @@
 import hashlib
 import json
 from os.path import (
-    dirname, join, isfile, realpath,
+    dirname, join, isfile, isdir, realpath,
     relpath, split, exists, basename
 )
 from os import environ, listdir, makedirs, remove
@@ -342,10 +342,67 @@ def make_package(args):
     res_dir = "src/main/res"
     default_icon = 'templates/kivy-icon.png'
     default_presplash = 'templates/kivy-presplash.jpg'
+
+    # Clean res directory
+    shutil.rmtree(res_dir)
+
+    # Create default p4a res dirs
+    default_res_dirs = [
+        "drawable", "drawable-mdpi", "drawable-hdpi", "drawable-xhdpi",
+        "drawable-xxhdpi", "layout", "mipmap", "mipmap-anydpi-v26", "values",
+        "xml"
+    ]
+    for dir in default_res_dirs:
+        ensure_dir(join(res_dir, dir))
+
+    # Copy default xml layout files
+    if get_bootstrap_name() == "sdl2":
+        default_layout_xmls = [
+            "chooser_item.xml", "main.xml", "project_chooser.xml",
+            "project_empty.xml"
+        ]
+        for xml in default_layout_xmls:
+            shutil.copy(
+                join("templates", xml),
+                join(res_dir, "layout", xml)
+            )
+
+    if args.res:
+        target_res_dirs = [
+            filename for filename in listdir(res_dir)
+            if isdir(join(res_dir, filename))
+        ]
+        source_res_dirs = [
+            filename for filename in listdir(args.res)
+            if isdir(join(args.res, filename))
+        ]
+        for directory in source_res_dirs:
+            if directory not in target_res_dirs:
+                ensure_dir(join(res_dir, directory))
+            source_dir = join(args.res, directory)
+            target_dir = join(res_dir, directory)
+
+            source_dir_files = [
+                filename for filename in listdir(source_dir)
+                if isfile(join(source_dir, filename))
+            ]
+            for filename in source_dir_files:
+                shutil.copy(
+                    join(source_dir, filename),
+                    join(target_dir, filename)
+                )
+
+            # Removes :Zone.Identifier files, for WSL users.
+            # Issue: https://github.com/microsoft/WSL/issues/7456
+            for file in listdir(join(res_dir, directory)):
+                if file.endswith(':Zone.Identifier'):
+                    remove(join(res_dir, directory, file))
+
     shutil.copy(
         args.icon or default_icon,
         join(res_dir, 'mipmap/icon.png')
     )
+
     if args.icon_fg and args.icon_bg:
         shutil.copy(args.icon_fg, join(res_dir, 'mipmap/icon_foreground.png'))
         shutil.copy(args.icon_bg, join(res_dir, 'mipmap/icon_background.png'))
@@ -690,6 +747,8 @@ def parse_args_and_make_package(args=None):
                     action="append", default=[],
                     metavar="/path/to/source:dest",
                     help='Put this in the assets folder at assets/dest')
+    ap.add_argument('--add-res', dest='res',
+                    help=('Copy/overwrite directories and its files in the android res directory'))
     ap.add_argument('--icon', dest='icon',
                     help=('A png file to use as the icon for '
                           'the application.'))
diff --git a/pythonforandroid/bootstraps/common/build/templates/chooser_item.xml b/pythonforandroid/bootstraps/common/build/templates/chooser_item.xml
new file mode 100644
index 0000000000..1823b13223
--- /dev/null
+++ b/pythonforandroid/bootstraps/common/build/templates/chooser_item.xml
@@ -0,0 +1,39 @@
+
+
+
+  
+
+  
+
+    
+
+    
+
+  
+
diff --git a/pythonforandroid/bootstraps/common/build/templates/main.xml b/pythonforandroid/bootstraps/common/build/templates/main.xml
new file mode 100644
index 0000000000..123c4b6eac
--- /dev/null
+++ b/pythonforandroid/bootstraps/common/build/templates/main.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
diff --git a/pythonforandroid/bootstraps/common/build/templates/project_chooser.xml b/pythonforandroid/bootstraps/common/build/templates/project_chooser.xml
new file mode 100644
index 0000000000..23828e644b
--- /dev/null
+++ b/pythonforandroid/bootstraps/common/build/templates/project_chooser.xml
@@ -0,0 +1,22 @@
+
+
+
+
+  
+
+  
+  
+
+
diff --git a/pythonforandroid/bootstraps/common/build/templates/project_empty.xml b/pythonforandroid/bootstraps/common/build/templates/project_empty.xml
new file mode 100644
index 0000000000..ee5481421d
--- /dev/null
+++ b/pythonforandroid/bootstraps/common/build/templates/project_empty.xml
@@ -0,0 +1,15 @@
+
+
+
+
+  
+
+