proguard.flags 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. # Copyright 2016 The Chromium Authors. All rights reserved.
  2. # Use of this source code is governed by a BSD-style license that can be
  3. # found in the LICENSE file.
  4. -keepclassmembers class org.chromium.android_webview.AwPdfExporter {
  5. android.view.ViewGroup mContainerView;
  6. }
  7. # Keep the factory and its public members; it's the main entry point used by the
  8. # framework.
  9. -keep class com.android.webview.chromium.WebViewChromiumFactoryProvider {
  10. public *;
  11. }
  12. -keep class * implements android.webkit.WebViewFactoryProvider$Statics {
  13. *;
  14. }
  15. -keep class com.android.webview.chromium.ContentSettingsAdapter {
  16. public *;
  17. }
  18. -keep class com.android.webview.chromium.WebViewChromiumFactoryProviderFor* {
  19. public *;
  20. }
  21. -keep class com.android.webview.chromium.WebViewDatabaseAdapter {
  22. public *;
  23. }
  24. # This is the main entry point for APIs. It is kept to make developing with
  25. # unreleased Android easier.
  26. -keep class com.android.webview.chromium.WebViewChromium {
  27. public *;
  28. }
  29. # This rule prevents class merging on R$* resource classes (for example, R$anim,
  30. # R$styleable, R$bool). This causes issues for WebView when unused resource
  31. # stripping, since in WebView we are forced to detect which resources are unused
  32. # by scanning the dex file for R$<res_type>.<res_name>. Having the R$* classes
  33. # being merged together means that R$anim.foo may now be found in R$bool.foo,
  34. # and this mistakenly will mark the foo resouce to be removed. More details in
  35. # crbug.com/1348329.
  36. -keep,allowaccessmodification,allowobfuscation,allowshrinking class **.R$*
  37. # Functor classes with native methods implemented in Android.
  38. -keep class com.android.webview.chromium.DrawFunctor
  39. -keep class com.android.webview.chromium.DrawGLFunctor
  40. -keep class com.android.webview.chromium.GraphicsUtils
  41. # The lock file object must be kept explicitly to avoid it being optimized
  42. # away and the lock released by the object's finalizer.
  43. -keep class org.chromium.android_webview.AwDataDirLock {
  44. java.nio.channels.FileLock sExclusiveFileLock;
  45. java.io.RandomAccessFile sLockFile;
  46. }
  47. # Workaround for crbug/1002847. Methods of BaseGmsClient are incorrectly
  48. # removed even though they are required for the derived class GmsClient
  49. # to correctly implement Api$Client.
  50. # TODO: remove once crbug/1002847 resolved.
  51. -keep public class com.google.android.gms.common.internal.BaseGmsClient {
  52. public void disconnect();
  53. public void dump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[]);
  54. public int getMinApkVersion();
  55. public boolean requiresSignIn();
  56. }