| Index: build/android/gyp/util/build_utils.py
 | 
| diff --git a/build/android/gyp/util/build_utils.py b/build/android/gyp/util/build_utils.py
 | 
| index a0cd7c12eee06df60e4539b775af639275f9e830..65b1a643c26a2ca920ff176af40bfcad85057f3d 100644
 | 
| --- a/build/android/gyp/util/build_utils.py
 | 
| +++ b/build/android/gyp/util/build_utils.py
 | 
| @@ -24,7 +24,7 @@ COLORAMA_ROOT = os.path.join(CHROMIUM_SRC,
 | 
|                               'third_party', 'colorama', 'src')
 | 
|  # aapt should ignore OWNERS files in addition the default ignore pattern.
 | 
|  AAPT_IGNORE_PATTERN = ('!OWNERS:!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:' +
 | 
| -                       '!CVS:!thumbs.db:!picasa.ini:!*~')
 | 
| +                       '!CVS:!thumbs.db:!picasa.ini:!*~:!*.d.stamp')
 | 
|  
 | 
|  
 | 
|  @contextlib.contextmanager
 | 
| @@ -236,6 +236,7 @@ def ZipDir(output, base_dir):
 | 
|  
 | 
|  
 | 
|  def MergeZips(output, inputs, exclude_patterns=None):
 | 
| +  added_names = set()
 | 
|    def Allow(name):
 | 
|      if exclude_patterns is not None:
 | 
|        for p in exclude_patterns:
 | 
| @@ -247,8 +248,9 @@ def MergeZips(output, inputs, exclude_patterns=None):
 | 
|      for in_file in inputs:
 | 
|        with zipfile.ZipFile(in_file, 'r') as in_zip:
 | 
|          for name in in_zip.namelist():
 | 
| -          if Allow(name):
 | 
| +          if name not in added_names and Allow(name):
 | 
|              out_zip.writestr(name, in_zip.read(name))
 | 
| +            added_names.add(name)
 | 
|  
 | 
|  
 | 
|  def PrintWarning(message):
 | 
| 
 |