Ничего себе, я разобрался, но мне посчастливилось найти так быстро, потому что, как только приложение подписано, вы больше не можете использовать консоль для отладки вашего приложения ... В любом случае причиной такого изменения было то, что в моем Gradle скрипт сборки Я установил «уменьшенная» атрибут «истинный» для построения релиза:
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);
}
я, наконец, смог увидеть, что, когда я был minfying Кодекса линии «фрагмент. getClass(). getName() "возвращался как значение" com.paul.MyFragment ", если не был проинформирован, и" com.paul.al.a "при минировании.
Раньше я не использовал мини-классификацию, поэтому я совершенно не ожидал изменения между оригиналом и мини-кодом!
Заключение до сих пор для меня заключается в том, что, если вы хотите минимизировать свой код, вам лучше сделать это во всех версиях сборки, которые вам могут понадобиться, чтобы избежать неприятных сюрпризов.
Любая обратная связь приветствуется! Спасибо, Paul
Как так? Не могли бы вы предоставить немного больше информации. Если он сбой, поставьте логарифмический вывод. –
Позвольте мне угадать, он функционирует и ломается, а лагов и пауза .. это что-то в этом роде? – Elltz
Вы используете proguard при развертывании сборки? – Chandrashekhar