Bowling kata solution in java
Overall, looks good design. good breakdown into methods.
Here are my comments:


Avoid magic numbers
Magic numbers are literals (String or Numeric values).  They should be replced with constant variables (public static final ... and UPPER_CASE named).  This has two benefits: 1) give meaning to the literal value (helps readability) and 2) one place to change value and also avoid (runtime!) errors due to incorrect value due to typo.
Example: public static final int MAX_ROLL_COUNT = 21;
Meaningful variable names 
This is particularly useful in your case where you have multiple index variables. You have both i and index.  IIUC, i is index on frames (==turns in bowling jargon, and don't forget to replace literal used as loop limit with constant!) and index is index on rolls.
Meaningful method names
rollIndex() is not a good name. perhaps calculateScoreForFrame() or something similar 
Use collection streams
Depending on your proficiency in the language, you may want to experiment with replace these for loops with Java 8 collection streams.  It (arguably) makes the code even more clearer.