Let's build release APKs instead of debug APKs so we can see if there is a problem with release builds before we actually build final releases. The main concern is that ProGuard obfuscation/optimizations could remove code (or move code to a different package/class/method) that is actually required to stay put.
The main issue to solve here is how do we distribute the signing keystore to the build machines. This should be a different keystore from the one we use to sign our final apks since the build environment is still too openly accessible.
The configuration in our build file should be easy to do. See also http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Signing-Configurations.
The final step would be to change all Android Jenkins configs to replace the build type "Debug" with "Release" in the task names, and "debug" with "release" in any output paths if there are any.
- Create a new keystore for signing Alpha APKs.
- Come up with a way/place to store the keystore and it's passwords in a semi-private way.
- Change Jenkins tasks to use "Release" wherever we use "Debug"