2015-01-28 4 views
1

Я разрабатываю приложение какое-то время, и теперь я хочу передать его друзьям для тестирования. Приложение отлично работает при отладке на моем устройстве, но когда я создаю и подписываю apk и переношу его на свое устройство, я могу установить его без каких-либо ошибок, но он не будет работать (я даже не получаю никаких сообщений об ошибках). Иногда экран становится черным, как будто приложение вот-вот начнется, но затем оно просто вернется к предыдущему экрану (один раз заставка Monogame появилась до того, как она вернулась к предыдущему экрану).Xamarin Signed Release apk установит, но не запустится

Вот что я сделал до сих пор, и какие-либо конкретные детали:

Я использую Visual Studio Professional 2014 с Xamarin.Android 4,20.

Я создаю свое приложение с помощью MonoGame.

Я очистил и построил свое приложение в режиме деблокирования.

Это мои варианты упаковки: enter image description here

Это мои параметры компоновщика: enter image description here (я считаю, выбирающие «Нет» только не означает, что мой APK будет больше).

Я создал хранилище ключей, используя Javatool.

Я создал и подписал apk с помощью команды Visual Studio «Опубликовать» Xamarin.

После всего этого apk все равно не будет работать.

+1

Вы пытались 'zipalign' ваш подписанный файл .apk? У меня была аналогичная проблема, и эта команда помогла мне – Milen

+1

Команда Publish запускает zipalign на сам подписанный пакет, а окно вывода VS утверждает, что оно успешно выполняется. Тем не менее, когда я буду рядом с моим компьютером, я попытаюсь самостоятельно выровнять его. –

+0

Все те же результаты, что и раньше, хотя я думаю, что я нахожусь в реальной проблеме. Это может быть исключение, которое вызывается только при запуске приложения в режиме Release. Я отправлю ответ через некоторое время, если это так. –

ответ

0

Так получилось, что это не было связано с подписанием или созданием режима освобождения apk, на самом деле это было исключение, которое было только выброшено, когда приложение было создано в режиме выпуска (я понятия не имею, почему это было так).

То, что выбрасывало исключение, было DotNetZip library, я бы разместил сообщение на его странице, но похоже, что проект все равно мертв (также они явно не поддерживают Xamarin Android).

Моим решением было использовать ZipStorer наряду с реализацией сжатия .Net. Сейчас все работает красиво.

Смежные вопросы