2014-10-15 3 views
1

여기에서 새 개발자가 표시됩니다.Playstore에서 열면 Android 베타 앱이 다운 됨 (다른 방식으로 작동)

방금 ​​작업중인 앱을 완성하고 Play 스토어에 베타 버전으로 게시했습니다. 이것을 베타 테스터에게 보내기 전에 작동 여부를 확인하기 위해 링크를 보냈습니다. 링크를 클릭하고 Play 스토어에서 앱을 설치하면 내 기기에 제대로로드 된 것 같습니다. 하지만 앱을 열면 앱이 열리기 전에 앱이 다운됩니다. "불행히도 응용 프로그램 이름 has stopped"메시지가 나타납니다.

게시를하기 전에 마지막으로 아무 것도 망쳐 놓지 않았는지 확인하고 다시 확인하십시오. Android Studio를 사용하여 장치를 제거하고 실행했습니다. 정상적으로 실행됩니다.

내가 일으킬 수있는 유일한 원인은 APK를 만들기 전에 수행 한 몇 가지 작업입니다.

먼저, 내 build.gradle 파일에 나는이 코드 줄에 "최적화"를 삽입 는 :

-assumenosideeffects class android.util.Log { 
    public static boolean isLoggable(java.lang.String, int); 
    public static int v(...); 
    public static int i(...); 
    public static int w(...); 
    public static int d(...); 
    public static int e(...); 
} 
-ignorewarnings 

:

buildTypes { 
     release { 
      runProguard true 
      proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 
     } 
    } 

그런 다음 proguard-rules.pro에서 나는 다음과 같은 추가 "assumenosideeffects"행은 내가 이해하는대로 내 로그를 제거하여 Play 스토어 버전에서 실행되지 않도록합니다.

"ignorewarnings"라인을 추가했습니다. APK를 구축 할 때 78 개의 노란색 경고가 표시 되었기 때문에 모두 Facebook과 관련이 있습니다. 하지만 페이스 북 통합이 없으며 페이스 북 통합을위한 코드 작성을 시도조차하지 않았습니다. 그래서 나는 ignorewarnings 라인을 추가하는 것이 앱의 기능을 저해하지 않을 것이라고 생각했다. 내가 잘못 했니?

그래서 내 문제입니다. 그 아이디어가 어떤 아이디어일까요?

도움을 주셔서 대단히 감사드립니다. 나는이 지역 사회에서 많은 혜택을, 나는 그것을 너무 :

편집

스택 추적은 다음과 같습니다 감사 :의

java.lang.RuntimeException: Unable to create application com.offyear.www.offyear.Application: java.lang.IllegalArgumentException: Default constructor for class com.a.lb is not accessible. 
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4447) 
at android.app.ActivityThread.access$1300(ActivityThread.java:141) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:5103) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:525) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.IllegalArgumentException: Default constructor for class com.a.lb is not accessible. 
at com.a.gy.c(Unknown Source) 
at com.a.gy.C(Unknown Source) 
at com.a.ed.a(Unknown Source) 
at com.offyear.www.offyear.Application.onCreate(Unknown Source) 
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007) 
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4444) 
... 10 more 
+0

크래시에 대한 스택 트레이스를 게시하십시오. –

+0

죄송합니다. IDE에서 실행하지 않을 때 어떻게해야할지 모르겠습니다. 장치에서 실행할 때 스택 추적을 인쇄하려면 어떻게합니까? –

+0

좋아, 알아 냈어. 스택 추적이 추가되었습니다. –

답변

0

확인, 정말 확실하지 어떤 소스를 문제는 아니지만 마침내 문제를 해결했습니다. 누구든지 비슷한 문제가 발생하면 게시 할 것이라고 생각했습니다.

분명히 proguard 코드의 어떤 것이 엉망이었습니다. 그래서 모든 proguard 코드를 삭제하고 runProguard를 gradle에 false로 설정하고 "최적화"를 삭제했습니다.

앱을 설치 한 후 아무 문제없이 Google Play에서 실행했습니다.

관련 문제