I have been developing my Android App on Linux and Eclipse for a year now. Decided to switch to windows for a number of reasons. Jumped through all the hoops, and now have my App building and exporting fine in Windows. ADT accepts and uses my developer certificate - store password and key password work fine.
The resulting App installs fine on real devices, and appears to be signed fine, but Android Market will not accept upload of the App update with the following error:
"The apk must be signed with the same certificate as the previous version"
Going back to Linux, I generate the APK and can upload it fine. Obviously the tool chain is generating a different binary. Verified using diff.
I am using the same version of Java on both platforms. I'm exporting using the same keystores and the same passwords. On running jarsigner -verify I get the following:
Windows:
X.509, O=VoltUp, C=US
[certificate is valid from 11/17/10 10:28 AM to 10/24/10 11:28 AM]
Linux:
X.509, O=BatteryStorm Mobile Inc, C=US
[certificate is valid from 10/25/10 12:04 AM to 10/17/40 12:04 AM]
So obviously O= has changed. How could this be?