Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(22)

Side by Side Diff: build/android/rezip/RezipApk.java

Issue 744453002: Fix a bunch of Java Checkstyle issues. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: NeedsBraces to info Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 import java.io.File; 5 import java.io.File;
6 import java.io.FileOutputStream; 6 import java.io.FileOutputStream;
7 import java.io.IOException; 7 import java.io.IOException;
8 import java.io.InputStream; 8 import java.io.InputStream;
9 import java.io.OutputStream; 9 import java.io.OutputStream;
10 import java.util.ArrayList; 10 import java.util.ArrayList;
(...skipping 21 matching lines...) Expand all
32 class RezipApk { 32 class RezipApk {
33 // Alignment to use for non-compressed files (must match zipalign). 33 // Alignment to use for non-compressed files (must match zipalign).
34 private static final int ALIGNMENT = 4; 34 private static final int ALIGNMENT = 4;
35 35
36 // Alignment to use for non-compressed *.so files 36 // Alignment to use for non-compressed *.so files
37 private static final int LIBRARY_ALIGNMENT = 4096; 37 private static final int LIBRARY_ALIGNMENT = 4096;
38 38
39 // Files matching this pattern are not copied to the output when adding alig nment. 39 // Files matching this pattern are not copied to the output when adding alig nment.
40 // When reordering and verifying the APK they are copied to the end of the f ile. 40 // When reordering and verifying the APK they are copied to the end of the f ile.
41 private static Pattern sMetaFilePattern = 41 private static Pattern sMetaFilePattern =
42 Pattern.compile("^(META-INF/((.*)[.](SF|RSA|DSA)|com/android/otacert ))|(" + 42 Pattern.compile("^(META-INF/((.*)[.](SF|RSA|DSA)|com/android/otacert ))|("
43 Pattern.quote(JarFile.MANIFEST_NAME) + ")$"); 43 + Pattern.quote(JarFile.MANIFEST_NAME) + ")$");
44 44
45 // Pattern for matching a shared library in the APK 45 // Pattern for matching a shared library in the APK
46 private static Pattern sLibraryPattern = Pattern.compile("^lib/[^/]*/lib.*[. ]so$"); 46 private static Pattern sLibraryPattern = Pattern.compile("^lib/[^/]*/lib.*[. ]so$");
47 // Pattern for match the crazy linker in the APK 47 // Pattern for match the crazy linker in the APK
48 private static Pattern sCrazyLinkerPattern = 48 private static Pattern sCrazyLinkerPattern =
49 Pattern.compile("^lib/[^/]*/libchromium_android_linker.so$"); 49 Pattern.compile("^lib/[^/]*/libchromium_android_linker.so$");
50 // Pattern for matching a crazy loaded shared library in the APK 50 // Pattern for matching a crazy loaded shared library in the APK
51 private static Pattern sCrazyLibraryPattern = 51 private static Pattern sCrazyLibraryPattern = Pattern.compile("^lib/[^/]*/cr azy.lib.*[.]so$");
52 Pattern.compile("^lib/[^/]*/crazy.lib.*[.]so$");
53 52
54 private static boolean isLibraryFilename(String filename) { 53 private static boolean isLibraryFilename(String filename) {
55 return sLibraryPattern.matcher(filename).matches() && 54 return sLibraryPattern.matcher(filename).matches()
56 !sCrazyLinkerPattern.matcher(filename).matches(); 55 && !sCrazyLinkerPattern.matcher(filename).matches();
57 } 56 }
58 57
59 private static boolean isCrazyLibraryFilename(String filename) { 58 private static boolean isCrazyLibraryFilename(String filename) {
60 return sCrazyLibraryPattern.matcher(filename).matches(); 59 return sCrazyLibraryPattern.matcher(filename).matches();
61 } 60 }
62 61
63 private static String renameLibraryForCrazyLinker(String filename) { 62 private static String renameLibraryForCrazyLinker(String filename) {
64 int lastSlash = filename.lastIndexOf('/'); 63 int lastSlash = filename.lastIndexOf('/');
65 // We rename the library, so that the Android Package Manager 64 // We rename the library, so that the Android Package Manager
66 // no longer extracts the library. 65 // no longer extracts the library.
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 // is true do not include the jar entries for the META-INF files. 142 // is true do not include the jar entries for the META-INF files.
144 // Entries are ordered in the deterministic order used by SignApk. 143 // Entries are ordered in the deterministic order used by SignApk.
145 private static List<JarEntry> getOutputFileOrderEntries( 144 private static List<JarEntry> getOutputFileOrderEntries(
146 JarFile jar, boolean omitMetaFiles, boolean rename) { 145 JarFile jar, boolean omitMetaFiles, boolean rename) {
147 List<JarEntry> entries = new ArrayList<JarEntry>(); 146 List<JarEntry> entries = new ArrayList<JarEntry>();
148 for (Enumeration<JarEntry> e = jar.entries(); e.hasMoreElements(); ) { 147 for (Enumeration<JarEntry> e = jar.entries(); e.hasMoreElements(); ) {
149 JarEntry entry = e.nextElement(); 148 JarEntry entry = e.nextElement();
150 if (entry.isDirectory()) { 149 if (entry.isDirectory()) {
151 continue; 150 continue;
152 } 151 }
153 if (omitMetaFiles && 152 if (omitMetaFiles && sMetaFilePattern.matcher(entry.getName()).match es()) {
154 sMetaFilePattern.matcher(entry.getName()).matches()) {
155 continue; 153 continue;
156 } 154 }
157 entries.add(entry); 155 entries.add(entry);
158 } 156 }
159 157
160 // We sort the input entries by name. When present META-INF files 158 // We sort the input entries by name. When present META-INF files
161 // are sorted to the end. 159 // are sorted to the end.
162 Collections.sort(entries, new EntryComparator(rename)); 160 Collections.sort(entries, new EntryComparator(rename));
163 return entries; 161 return entries;
164 } 162 }
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 out.closeEntry(); 385 out.closeEntry();
388 out.flush(); 386 out.flush();
389 prevName = name; 387 prevName = name;
390 } 388 }
391 if (numCrazy == 0) { 389 if (numCrazy == 0) {
392 throw new AssertionError("There was no crazy library in the archive" ); 390 throw new AssertionError("There was no crazy library in the archive" );
393 } 391 }
394 } 392 }
395 393
396 private static void usage() { 394 private static void usage() {
397 System.err.println( 395 System.err.println("Usage: prealignapk (addalignment|reorder) input.apk output.apk");
398 "Usage: prealignapk (addalignment|reorder) input.apk output.apk" ); 396 System.err.println("\"crazy\" libraries are always inflated in the outpu t");
399 System.err.println(
400 "\"crazy\" libraries are always inflated in the output");
401 System.err.println( 397 System.err.println(
402 " renamealign - rename libraries with \"crazy.\" prefix and ad d alignment file"); 398 " renamealign - rename libraries with \"crazy.\" prefix and ad d alignment file");
403 System.err.println( 399 System.err.println(" align - add alignment file");
404 " align - add alignment file"); 400 System.err.println(" reorder - re-creates canonical ordering and c hecks alignment");
405 System.err.println(
406 " reorder - re-creates canonical ordering and checks align ment");
407 System.exit(2); 401 System.exit(2);
408 } 402 }
409 403
410 public static void main(String[] args) throws IOException { 404 public static void main(String[] args) throws IOException {
411 if (args.length != 3) usage(); 405 if (args.length != 3) usage();
412 406
413 boolean addAlignment = false; 407 boolean addAlignment = false;
414 boolean rename = false; 408 boolean rename = false;
415 if (args[0].equals("renamealign")) { 409 if (args[0].equals("renamealign")) {
416 // Normal case. Before signing we rename the library and add an alig nment file. 410 // Normal case. Before signing we rename the library and add an alig nment file.
(...skipping 28 matching lines...) Expand all
445 outputJar.setLevel(9); 439 outputJar.setLevel(9);
446 440
447 rezip(inputJar, outputJar, outCount, addAlignment, rename); 441 rezip(inputJar, outputJar, outCount, addAlignment, rename);
448 outputJar.close(); 442 outputJar.close();
449 } finally { 443 } finally {
450 if (inputJar != null) inputJar.close(); 444 if (inputJar != null) inputJar.close();
451 if (outputFile != null) outputFile.close(); 445 if (outputFile != null) outputFile.close();
452 } 446 }
453 } 447 }
454 } 448 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698