### Default ProGuard Configuration for Android Source: https://github.com/comcast/freeflow/blob/master/FreeFlowTestsStub/proguard-project.txt This snippet provides the default ProGuard configuration structure for Android projects, including instructions on how to add project-specific rules and an example for keeping WebView JavaScript interface members. ```ProGuard #------------------------------------------------------------------------------- # Copyright 2013 Comcast Cable Communications Management, LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. #------------------------------------------------------------------------------- # To enable ProGuard in your project, edit project.properties # to define the proguard.config property as described in that file. # # Add project specific ProGuard rules here. # By default, the flags in this file are appended to flags specified # in ${sdk.dir}/tools/proguard/proguard-android.txt # You can edit the include path and order by changing the ProGuard # include property in project.properties. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html # Add any project specific keep options here: # If your project uses WebView with JS, uncomment the following # and specify the fully qualified class name to the JavaScript interface # class: #-keepclassmembers class fqcn.of.javascript.interface.for.webview { # public *; #} ``` -------------------------------- ### Configure ProGuard for WebView JavaScript Interface Source: https://github.com/comcast/freeflow/blob/master/examples/Artbook/proguard-project.txt This ProGuard rule prevents obfuscation of JavaScript interface methods used by Android WebView. Uncomment and replace `fqcn.of.javascript.interface.for.webview` with the fully qualified class name of your JavaScript interface class to ensure its public methods are preserved during ProGuard processing. ```ProGuard -keepclassmembers class fqcn.of.javascript.interface.for.webview { public *; } ``` -------------------------------- ### ProGuard Rule for WebView JavaScript Interface Source: https://github.com/comcast/freeflow/blob/master/FreeFlowTests/proguard-project.txt This ProGuard rule is used to prevent the obfuscation or removal of public members within a specified JavaScript interface class that is exposed to an Android WebView. Replace 'fqcn.of.javascript.interface.for.webview' with the actual fully qualified class name of your JavaScript interface. ```ProGuard -keepclassmembers class fqcn.of.javascript.interface.for.webview { public *; } ``` -------------------------------- ### Configure ProGuard for WebView JavaScript Interfaces Source: https://github.com/comcast/freeflow/blob/master/FreeFlow/proguard-project.txt This ProGuard rule prevents obfuscation and removal of public members within a JavaScript interface class used by Android WebView. Replace 'fqcn.of.javascript.interface.for.webview' with the fully qualified class name of your JavaScript interface. ```ProGuard # If your project uses WebView with JS, uncomment the following # and specify the fully qualified class name to the JavaScript interface # class: #-keepclassmembers class fqcn.of.javascript.interface.for.webview { # public *; #} ``` -------------------------------- ### Keep JavaScript Interface Members in Android WebView with ProGuard Source: https://github.com/comcast/freeflow/blob/master/examples/PhotoGrid/proguard-project.txt This ProGuard rule ensures that all public members of a specified JavaScript interface class, used by an Android WebView, are preserved during the obfuscation and optimization process. This is crucial for maintaining proper communication between JavaScript and native Android code. ```ProGuard -keepclassmembers class fqcn.of.javascript.interface.for.webview { public *; } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.