-
Notifications
You must be signed in to change notification settings - Fork 0
BlogForMe/MyApplication_TLS13
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
2. Test Scenarios
Scenario A: No Custom Rules (Baseline)
bash# Comment out all -keep rules in proguard-rules.pro
./gradlew assembleRelease
Check mapping.txt:
com.example.keepdemo.test.TestClass -> a:
java.lang.String publicField -> a
java.lang.String publicMethod() -> b
# UnusedClass might be completely removed
Scenario B: Keep Entire Class
proguard# Uncomment in proguard-rules.pro:
-keep class com.example.keepdemo.test.TestClass {
*;
}
Expected mapping.txt:
com.example.keepdemo.test.TestClass -> com.example.keepdemo.test.TestClass:
java.lang.String publicField -> publicField
java.lang.String publicMethod() -> publicMethod
Scenario C: Keep Class Name Only
proguard-keep class com.example.keepdemo.test.TestClass
Expected mapping.txt:
com.example.keepdemo.test.TestClass -> com.example.keepdemo.test.TestClass:
java.lang.String publicField -> a
java.lang.String publicMethod() -> b
Scenario D: Keep Specific Members
proguard-keep class com.example.keepdemo.test.TestClass {
public java.lang.String publicMethod();
}
Expected mapping.txt:
com.example.keepdemo.test.TestClass -> a:
java.lang.String publicField -> a
java.lang.String publicMethod() -> publicMethod # Kept!
3. Test Reflection
Run the app and click "Test Reflection"
If class/methods are obfuscated, reflection will fail
If kept properly, reflection will succeed
4. Compare Results
Build with different -keep rules
Compare mapping.txt files
See what gets preserved vs obfuscated
Test reflection behavior
This simple demo clearly shows how -keep rules preserve classes and members while allowing you to see the direct impact on obfuscation.About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published