A very late reply, but maybe some people having the same problem would benefit from it
Android is more picky than Chrome, so in Chrome when you declare an Object, and push data to it, it is ok.
In Android it is not.
So you should declare an array [] in stead of an object {}
So initial declaration: $scope.favorite = [];
Getting it from local storage:$localStorage.getObject('favorite', '[]');
And then you can push...favorite.push({id: index});