Skip to content
Efra Espada edited this page Jun 30, 2020 · 4 revisions

StringCare can retrieve some reports for solving possible errors or wrong configurations.

Preview Task

The stringcarePreview task shows what files the plugin will obfuscate. In the project's root-level folder:

  • macOS
$ ./gradlew stringcarePreview
  • Windows
$ gradlew.bat stringcarePreview
> Task :stringcarePreview
== REPORT ======================================
Modules (1)
== FILES FOUND ======================================
❌  not valid file /Users/efrainespada/Documents/Github/AndroidLibrary/app/src/main/res/values-w820dp/dimens.xml
❌  not valid file /Users/efrainespada/Documents/Github/AndroidLibrary/app/src/main/res/layout/activity_main.xml
❌  not valid file /Users/efrainespada/Documents/Github/AndroidLibrary/app/src/main/res/values/colors.xml
❌  not valid file /Users/efrainespada/Documents/Github/AndroidLibrary/app/src/main/res/values/dimens.xml
❌  not valid file /Users/efrainespada/Documents/Github/AndroidLibrary/app/src/main/res/values/styles.xml
βœ”  valid file /Users/efrainespada/Documents/Github/AndroidLibrary/app/src/main/res/values/strings.xml
❌  not valid file /Users/efrainespada/Documents/Github/AndroidLibrary/app/src/main/AndroidManifest.xml
❌  not valid file /Users/efrainespada/Documents/Github/AndroidLibrary/library/src/main/res/values/strings.xml
❌  not valid file /Users/efrainespada/Documents/Github/AndroidLibrary/library/src/main/res/values/attrs.xml
❌  not valid file /Users/efrainespada/Documents/Github/AndroidLibrary/library/src/main/AndroidManifest.xml
❌  not valid file /Users/efrainespada/Documents/Github/AndroidLibrary/dynamic_feature_cell/src/main/AndroidManifest.xml

Located files(1) for obfuscating
- strings.xml
	app/src/main/
path: /Users/efrainespada/Documents/Github/AndroidLibrary/app/src/main/res/values/strings.xml

============================
"androidTreatment": "false"
"containsHtml": "true"
"hidden": "true"
"name": "hello"
"value": "
        <i>Hello <strong>there</strong></i><br></br>
        General <strong>Kenobi</strong>.
    "
============================
"hidden": "true"
"name": "pattern"
"value": "%1$s (%2$d)"
============================
"hidden": "true"
"name": "snake_msg_hidden"
"value": "\n\nla-li-lu-le-lo\n\nπŸπŸ˜„πŸ‰"
============================
"hidden": "true"
"name": "hello_world_b"
"value": "Hello
        World
    "
============================
"androidTreatment": "false"
"hidden": "true"
"name": "hello_world_c"
"value": "Hello
World
    "
============================

=== content ================
<resources>
    <string name="app_name">String Obfuscator Sample</string>
    <string name="hello" hidden="true" androidTreatment="false" containsHtml="true">
        <i>Hello <strong>there</strong></i><br></br>
        General <strong>Kenobi</strong>.
    </string>
    <string name="pattern" hidden="true">%1$s (%2$d)</string>
    <string name="snake_msg_hidden" hidden="true">\n\nla-li-lu-le-lo\n\nπŸπŸ˜„πŸ‰</string>
    <string name="hello_world_a">Hello
        World
    </string>
    <string name="hello_world_b" hidden="true">Hello
        World
    </string>
    <string name="hello_world_c" hidden="true" androidTreatment="false">Hello
World
    </string>
</resources>
============================
== END REPORT ==================================

BUILD SUCCESSFUL in 0s

Test Obfuscation Task

The stringcareTestObfuscate task tests the obfuscation process. In the project's root-level folder:

  • macOS
$ ./gradlew stringcareTestObfuscate
  • Windows
$ gradlew.bat stringcareTestObfuscate
> Task :stringcareTestObfuscateDebug

> Configure project :app
:PATH:/Users/efraespada/Documents/Github/KotlinSample/

> Task :app:stringcareTestObfuscate
== TEST OBFUSCATION ======================================
        == prodDebug ======================================
        Module: app
        Variant: prodDebug
        Store: /Users/efraespada/.android/debug.keystore
        SHA1: ....
        Valid until: Friday, October 29, 2049
== RESOURCE FILES FOUND ======================================
βœ” valid file /Users/efraespada/Documents/Github/KotlinSample/app/src/main/res/values/strings.xml
βœ” valid file /Users/efraespada/Documents/Github/KotlinSample/app/src/other_source/res/values/strings_extra.xml
        ============================
        path: /Users/efraespada/Documents/Github/KotlinSample/app/src/main/res/values/strings.xml
"hidden": "true"
"name": "kenobi"
"translatable": "true"
"       value": "Hello there!"
        ============================
"hidden": "true"
"name": "grievous"
"       value": "General Kenobi"
        ============================

        === content ================
<resources>
    <string name="app_name">Kenobi</string>
    <string name="kenobi" hidden="true" translatable="true">Hello there!</string>
    <string name="grievous" hidden="true">General Kenobi</string>
    <!--string name="grievous" hidden="true">General Kenobi</string-->
</resources>
        ============================
<resources>
    <string name="app_name">Kenobi</string>
    <string name="kenobi" hidden="true" translatable="true">Hello there!</string>
    <string name="grievous" hidden="true">General Kenobi</string>
    <!--string name="grievous" hidden="true">General Kenobi</string-->
</resources>
<?xml version="1.0" encoding="UTF-8" standalone="no"?><resources>
    <string name="app_name">Kenobi</string>
    <string name="kenobi" translatable="true">-12, -47, 99, 65, 11, -83, -14, -22, -38, -25, -47, -116</string>
    <string name="grievous">101, 9, -120, 87, 34, -1, -8, -80, -52, -27, -29, -29, -60, -57</string>
    <!--string name="grievous" >General Kenobi</string-->
</resources>
        === content obfuscated ================
<?xml version="1.0" encoding="UTF-8" standalone="no"?><resources>
    <string name="app_name">Kenobi</string>
    <string name="kenobi" translatable="true">-12, -47, 99, 65, 11, -83, -14, -22, -38, -25, -47, -116</string>
    <string name="grievous">101, 9, -120, 87, 34, -1, -8, -80, -52, -27, -29, -29, -60, -57</string>
    <!--string name="grievous" >General Kenobi</string-->
</resources>
        ============================
        ============================
        path: /Users/efraespada/Documents/Github/KotlinSample/app/src/other_source/res/values/strings_extra.xml
"containsHtml": "true"
"hidden": "true"
"name": "hello_there"
"       value": "
        <i>Hello there</i><br></br>
        General <strong>Kenobi</strong>.
    "
        ============================
"hidden": "true"
"name": "r2d2"
"       value": "πŸπŸ˜„πŸ‰"
        ============================
"androidTreatment": "false"
"hidden": "true"
"name": "c3po"
"       value": "
        +---[RSA 2048]----+
        |.*++ o.o.        |
        |.+B + oo.        |
        | +++ *+.         |
        | .o.Oo.+E        |
        |    ++B.S.       |
        |   o * =.        |
        |  + = o          |
        | + = = .         |
        |  + o o          |
        +----[SHA256]-----+
    "
        ============================

        === content ================
<resources>
    <string name="hello_there" hidden="true" containsHtml="true">
        <i>Hello there</i><br></br>
        General <strong>Kenobi</strong>.
    </string>
    <string name="r2d2" hidden="true">πŸπŸ˜„πŸ‰</string>
    <string name="c3po" androidTreatment="false" hidden="true">
        +---[RSA 2048]----+
        |.*++ o.o.        |
        |.+B + oo.        |
        | +++ *+.         |
        | .o.Oo.+E        |
        |    ++B.S.       |
        |   o * =.        |
        |  + = o          |
        | + = = .         |
        |  + o o          |
        +----[SHA256]-----+
    </string>
</resources>

        ============================
<resources>
    <string name="hello_there" hidden="true" containsHtml="true">
        <i>Hello there</i><br></br>
        General <strong>Kenobi</strong>.
    </string>
    <string name="r2d2" hidden="true">πŸπŸ˜„πŸ‰</string>
    <string name="c3po" androidTreatment="false" hidden="true">
        +---[RSA 2048]----+
        |.*++ o.o.        |
        |.+B + oo.        |
        | +++ *+.         |
        | .o.Oo.+E        |
        |    ++B.S.       |
        |   o * =.        |
        |  + = o          |
        | + = = .         |
        |  + o o          |
        +----[SHA256]-----+
    </string>
</resources>

<?xml version="1.0" encoding="UTF-8" standalone="no"?><resources>
    <string name="hello_there">-104, 21, -123, -55, -40, -119, 58, 59, -80, -10, -65, -80, -127, 100, 85, 25, 90, 28, 21, 35, 44, 12, -25, -12, 10, 21, -38, -72, -37, -13, 13, -16, 16, -28, -17, -79, -69, -19, -17, -9, -28, -29, -25, -77, -52, -46, -31, -38, -50, -36, -91, -103, -38, -40, -43, -45, -49, -45, -98, -111</string>
    <string name="r2d2">-100, 11, -121, 98, -116, 44, 22, 6, 101, 20, -7, -12</string>
    <string name="c3po">-69, 120, -35, -73, 66, 122, -39, -72, -126, 54, 94, 21, -10, -48, 44, 84, 86, -39, -51, 93, 61, -118, 24, 75, -49, -73, -108, 126, 74, 67, -128, 46, 115, 8, 5, 51, -18, 54, -25, 5, -56, -56, -35, 3, -22, -28, -77, -120, -119, -97, 124, 126, 113, 101, 96, -66, 64, 120, 77, 86, 112, 119, 61, 75, 71, -96, 84, 105, 102, 65, 45, 58, 113, -104, 68, 26, 28, 51, 53, 50, 13, 11, 42, -120, 1, 35, 28, 7, 28, -1, 1, 21, 11, 75, -6, 16, -11, 21, -9, -17, -9, -16, 1, -4, -2, -23, -17, -22, -20, -13, -38, 53, -55, -11, -39, -22, -45, -17, -33, -37, -53, 63, -34, -28, 29, -44, 16, 40, -22, -40, -15, -43, -47, -45, -39, -43, -41, -61, -59, 42, -83, -71, -43, -44, -73, -55, -47, -57, -67, 37, -53, -63, -63, -61, -63, -54, -29, -53, -11, -69, -66, -75, -73, -71, -86, -63, -78, 10, -104, -74, -89, -64, -76, -88, -91, -78, -67, 8, -87, -91, -72, -4, -95, -77, -87, -64, -66, -86, -87, -84, -77, -96, -88, -89, -97, -3, -102, -96, -96, -91, -79, -97, -98, -93, -103, -2, -87, -89, -94, -90, -57, -98, -15, -97, -99, -88, -93, -101, -106, -96, -109, -107, -97, -10, -125, -110, -106, -101, -104, -104, -95, -91, -96, -4, -110, -95, -104, -82, -95, -83, -114, -94, -115, -97, -111, -102, -98, -112, -112, -101, -115, -23, -124, -113, -116, -114, -107, -105, -108, -114, -117, -27, -113, -115, -100, -116, -31, -116, -31, -104, -117, -117, -102, -105, -120, -112, -120, -118, -116, -14, 115, -119, -124, -120, -116, -120, -108, -106, -108, -112, -108, -112, -96, -98, -52, -73, -86, -91, -104, -93, -93, -64, -96, -106, -114, -104, -105, -115, 114, -122, -122, -120, -121</string>
</resources>
        === content obfuscated ================
<?xml version="1.0" encoding="UTF-8" standalone="no"?><resources>
    <string name="hello_there">-104, 21, -123, -55, -40, -119, 58, 59, -80, -10, -65, -80, -127, 100, 85, 25, 90, 28, 21, 35, 44, 12, -25, -12, 10, 21, -38, -72, -37, -13, 13, -16, 16, -28, -17, -79, -69, -19, -17, -9, -28, -29, -25, -77, -52, -46, -31, -38, -50, -36, -91, -103, -38, -40, -43, -45, -49, -45, -98, -111</string>
    <string name="r2d2">-100, 11, -121, 98, -116, 44, 22, 6, 101, 20, -7, -12</string>
    <string name="c3po">-69, 120, -35, -73, 66, 122, -39, -72, -126, 54, 94, 21, -10, -48, 44, 84, 86, -39, -51, 93, 61, -118, 24, 75, -49, -73, -108, 126, 74, 67, -128, 46, 115, 8, 5, 51, -18, 54, -25, 5, -56, -56, -35, 3, -22, -28, -77, -120, -119, -97, 124, 126, 113, 101, 96, -66, 64, 120, 77, 86, 112, 119, 61, 75, 71, -96, 84, 105, 102, 65, 45, 58, 113, -104, 68, 26, 28, 51, 53, 50, 13, 11, 42, -120, 1, 35, 28, 7, 28, -1, 1, 21, 11, 75, -6, 16, -11, 21, -9, -17, -9, -16, 1, -4, -2, -23, -17, -22, -20, -13, -38, 53, -55, -11, -39, -22, -45, -17, -33, -37, -53, 63, -34, -28, 29, -44, 16, 40, -22, -40, -15, -43, -47, -45, -39, -43, -41, -61, -59, 42, -83, -71, -43, -44, -73, -55, -47, -57, -67, 37, -53, -63, -63, -61, -63, -54, -29, -53, -11, -69, -66, -75, -73, -71, -86, -63, -78, 10, -104, -74, -89, -64, -76, -88, -91, -78, -67, 8, -87, -91, -72, -4, -95, -77, -87, -64, -66, -86, -87, -84, -77, -96, -88, -89, -97, -3, -102, -96, -96, -91, -79, -97, -98, -93, -103, -2, -87, -89, -94, -90, -57, -98, -15, -97, -99, -88, -93, -101, -106, -96, -109, -107, -97, -10, -125, -110, -106, -101, -104, -104, -95, -91, -96, -4, -110, -95, -104, -82, -95, -83, -114, -94, -115, -97, -111, -102, -98, -112, -112, -101, -115, -23, -124, -113, -116, -114, -107, -105, -108, -114, -117, -27, -113, -115, -100, -116, -31, -116, -31, -104, -117, -117, -102, -105, -120, -112, -120, -118, -116, -14, 115, -119, -124, -120, -116, -120, -108, -106, -108, -112, -108, -112, -96, -98, -52, -73, -86, -91, -104, -93, -93, -64, -96, -106, -114, -104, -105, -115, 114, -122, -122, -120, -121</string>
</resources>
        ============================
     
== END OBFUSCATION ==================================

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.1.1/userguide/command_line_interface.html#sec:command_line_warnings

BUILD SUCCESSFUL in 14s
1 actionable task: 1 executed