Вы можете только сохранить пунктов действительно. Если вы хотите исключить определенных учеников, вы должны сделать это, перечислив или пометив учеников, которых вы хотите сохранить. При указании имени класса, вы можете предоставить список, опционально с "!" исключить имена. При указании имени и типа члена класса это невозможно. Тем не менее, в обоих случаях вы можете использовать подстановочные знаки. Если вы выбираете специальные имена для своих внутренних классов, это может сработать:
-keep public class * {
public protected *** !myInternalField*;
public protected *** !myInternalMethod*(...);
}