2015-12-08 4 views
1

Приложение для Android отключается, когда оно установлено из Play-магазина во время запуска, но когда я запускаю одно и то же приложение, когда я устанавливаю apk непосредственно с устройства, это не сбой. Любая идея, что может быть причиной этого? Ниже приведен аварийный журнал, полученный из магазина воспроизведения.Ошибка приложения при установке из Play-магазина

java.lang.RuntimeException: Unable to instantiate activity 
ComponentInfo{com.codingsquare.pgs/com.codingsquare.pgs.PGSActivity}: 
java.lang.ClassNotFoundException: Didn't find class 
"com.codingsquare.pgs.PGSActivity" on path: DexPathList[[zip file 
"/data/app/com.codingsquare.pgs-1.apk"],nativeLibraryDirectories=[/data/app- 
lib/com.codingsquare.pgs-1, /vendor/lib, /system/lib]] 

Когда тот же код запускается через отладчик Eclipse, приложение работает нормально. Даже в игровом магазине, когда мы устанавливали через бета-канал, он работал, но когда он обновляется до производства, он перестает работать. Любая идея о несоответствии поведения приложения.

+2

ваш 'logcat' без него очень трудно дать какой-либо причине –

+2

Может быть, потому, что вы используете proguard в финальной версии? –

+0

Если вы используете eclipse, убедитесь, что при запуске приложения (в режиме деблокирования для создания подписанного apk) проверьте, что из меню> Проект> Создать автоматически не установлен. – techroid

ответ

1

Когда вы создаете APK «release» для магазина воспроизведения, gradle запускает proguard, что может сделать некоторые из ваших классов невидимыми для вашего кода, если они не настроены должным образом.

Как быстро тест, чтобы убедиться, что это проблема, вы можете добавить следующий код в android{} разделе вашего build.gradle: запись

buildTypes { 
    release { 
     minifyEnabled false 
     multiDexEnabled true 
    } 
    debug { 
    } 
} 
+0

Я могу попробовать это, но мне нужно загрузить новую сборку в Play Store, которую я буду делать в ближайшее время. Но я загрузил эту сборку в Play Store, выпущенную как бета-версию, она работала, а затем я продвинул ее на производство, а затем начал эту проблему. Так что, если это проблема сборки, как вы подозревали, не будет той же проблемы, когда я выпущен для бета-тестирования. Я продвигал тот же APK к производству, и поэтому даже бета-сборка должна иметь такую ​​же проблему, если она связана с proguard! – kiran

+0

Ну, это действительно сработало. Я обновил build.gradle, как вы предложили, и он начал работать. – kiran

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