Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Meaning of { *; } in ProGuard

Consider this proguard statement :

-keep public class * extends android.support.design.widget.CoordinatorLayout$Behavior { *; }

In this statement what does the addition of { *; } mean?

Does it preserve all methods? All fields? Or just the entire class?

like image 711
Binoy Babu Avatar asked Sep 08 '15 10:09

Binoy Babu


People also ask

What is Dontwarn in ProGuard?

If your code works fine without the missing classes, you can suppress the warnings with '-dontwarn' options. ( http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass) Warning: there were 2 unresolved references to program class members. Your input classes appear to be inconsistent.

What is means for ProGuard?

ProGuard is an open source command-line tool that shrinks, optimizes and obfuscates Java code. It is able to optimize bytecode as well as detect and remove unused instructions.

What does minifyEnabled do?

minify is an Android tool that will decrease the size of your application when you go to build it. It's extremely useful as it means smaller apk files! It detects any code or libraries that aren't being used and ignores them from your final apk.

What are ProGuard rules?

ProGuard is a free Java app for Android that allows us to do the following: Reduce (minimize) the code: Unused code in the project should be removed. Code obfuscation: Rename the names of classes, fields, and so on. Improve the code: Inline the functions, for example.


1 Answers

It is used as a wildcard in ProGuard to indicate all members and methods in the class.

Source: ProGuard manual, Stack overflow

like image 115
fahmy Avatar answered Oct 03 '22 18:10

fahmy