今天我有一个非常糟糕的惊喜。我的应用程序一旦使用生产密钥签名,其工作方式与AndroidStudio签名的默认密钥不同。
之前有没有其他人有此问题?
这太吓人了! :)
答案 0 :(得分:1)
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
乍一看,一切都还可以,但请查看。只有当前可见片段是名为“MyFragment”的类的实例时,我才在代码中执行某些东西:
Fragment fragment = getCurrentFragment();
// check if the current fragment is the one which is expected
if(fragment.getClass().getName().contains("MyFragment")) {
// if yes, update the value of the edit text
MyFragment mf = (MyFragment) fragment;
mf.setEditTextText(string);
}
我终于能够看到,当我正在编写代码时,行“fragment.getClass()。getName()”作为值“com.paul.MyFragment”返回,如果没有缩小和“com.paul。 al.a“在缩小时。
之前我没有使用缩小版,所以我绝对不希望原始代码和缩小代码之间发生变化!
到目前为止,我得出的结论是,如果你想缩小你的代码,你最好在你可能需要的所有构建版本中做到这一点,以避免令人不快的意外。
欢迎任何反馈! 谢谢, 保罗