Intereting Posts
Как решить «Этот элемент не имеет прикрепленного источника и Javadoc не может быть найден в прикрепленном Javadoc»? Функция тестовой подписки в биллинге в приложении Как Android обрабатывает фоновые потоки при выходе из Activity? Кнопка «Обратно» в «Реагировать родной», «Навигатор» на Android Gson и Active Android: Попытка сериализации java.lang.Class. Забыл зарегистрировать адаптер типа? Сделать EditText потерять фокус при нажатии кнопки После обновления – crash com.google.android.gms: play-services: 5.2.8 Как я могу отклонить предложения в EditText? Как сервис возвращает результат активности Android: Location.distanceTo не работает правильно? Ошибка Android GCM. Возврат сервера Не ​​зарегистрирован при регистрации клиента Android P2P (прямое подключение) через Интернет (за NAT) FragmentPagerAdapter – Как обрабатывать изменения ориентации? Предотвратить onPause из разбиения контекста OpenGL CSRF в мобильных приложениях

FATAL EXCEPTION: ZoomTableManager

Я получаю странный крах, и у меня возникли проблемы с поиском чего-либо в Google. Поиск ZoomTableManager не возвращает никаких результатов.

E/AndroidRuntime﹕ FATAL EXCEPTION: ZoomTableManager Process: com.xxx.yyy, PID: 22129 java.lang.IllegalMonitorStateException: object not locked by thread before notify() at java.lang.Object.notifyAll(Native Method) at com.google.maps.api.android.lib6.gmm6.mka(Unknown Source) at com.google.maps.api.android.lib6.gmm6.mlrun(Unknown Source) 

Solutions Collecting From Web of "FATAL EXCEPTION: ZoomTableManager"

Выяснилось, что причиной ошибки был недействительный ключ API Карт Google .

Недавно нам пришлось изменить имя пакета приложения, поэтому используемые нами ключи API стали недействительными, так как вы должны указать разрешенные приложения подписи и имени пакета.

IllegalMonitorStateException с этим сообщением происходит, когда вы вызываете obj.notify() и вы не держите примитивный мьютекс для obj .

Вы должны сделать что-то вроде этого:

  synchronized (someObj) { ... someObj.notify(); ... } 

Или эквивалент, но по некоторым причинам код, вызывающий проблему, оставил synchronized бит. (Или, может быть, он синхронизирован на другом объекте.)

К сожалению, это происходит в некотором запутанном коде, который обеспечивает реализацию API Карт Google. И вы не указали никакого контекста. Поэтому нам почти невозможно догадаться, что происходит.

Я предлагаю вам предоставить более подробную информацию.

Способ устранения этой проблемы – применить к открытому ключу карты Google для вашего пакета.

Но способ предотвращения этого сбоя – проверить возвращаемое значение вызывающего mapFragment = new MapFragment() и не вызывать fm.beginTransaction().replace(id, mapFragment).commit(); Если mapFragment равен null.

Надеюсь, поможет.

В нашем случае изменился ключ, используемый для подписи приложения Android (а не ключа API). Прежде чем мы использовали производственный ключ (хранящийся в хранилище ключей). Этот ключ был включен в консоли Google API ( https://console.developers.google.com ).

Мы создали новую среду разработки на новой машине и эта машина не использовала производственный ключ, как раньше, но использовала отладочный ключ по умолчанию для Android (хранящийся в хранилище отладки по умолчанию для android по умолчанию в $ HOME / .android / debug.keystore).

Решение заключалось в том, чтобы настроить отладочный ключ по умолчанию для Android, SHA1 и имя пакета в консоли Google API.

  1. Получить SHA1:

    Keytool -v -list -keystore $ HOME / .android / debug.keystore

  2. Скопируйте SHA1: 27: 4C: CF: A3: E9: 75: 4A: 59: 4C: EE: 50: 21: 2B: 1C: 7B: 48: FC: 45: 4F: 77

  3. Перейдите в консоль Google API и введите имя SHA1; (в APIS и Auth> Credentials> Edit разрешенные приложения для Android):

27: 4C: КФ: А3: Е9: 75: 4A: 59: 4C: EE: 50: 21: 2B: 1C: 7B: 48: ФК: 45: 4F: 77; com.mypackage.name

Наслаждайтесь!