Я знаю, что уже поздно, но надеюсь, что это поможет кому-то еще ...
Это мой код: он принимает два-два шестнадцатеричных представления, содержащихся в String, и добавляет их в массив байтов.Это прекрасно работает для меня.
public byte[] stringToByteArray (String s) {
byte[] byteArray = new byte[s.length()/2];
String[] strBytes = new String[s.length()/2];
int k = 0;
for (int i = 0; i < s.length(); i=i+2) {
int j = i+2;
strBytes[k] = s.substring(i,j);
byteArray[k] = (byte)Integer.parseInt(strBytes[k], 16);
k++;
}
return byteArray;
}