Guten Morgen.App stürzt einmal im Google Play Store ab, aber nie auf Android Studio
Meine App stürzt ab, sobald sie im Google Play Store veröffentlicht und dann von dort installiert wird. Wenn ich meine App von Android Studio aus installiere, stürzt sie überhaupt nicht ab.
Die App scheint zu stürzen, wenn ich versuche, ein Layout zu öffnen, das Informationen aus einer lokalen Datenbank mit RushORM erfasst.
Dies ist, was die ANRs berichten über die GP-Konsole:
ANR Eingang abgelaufen Dispatching (Warte Nicht-Schlüsselereignis zu senden, weil das berührte Fenster nicht beendet hat Ereignisse bestimmten Eingangs Verarbeitung, die er geliefert wurden, . vor mehr als 500.0ms Warte Warteschlangenlänge: 35. Warten Warteschlange Kopf Alter:. 5507.1ms)
Und das ist, was die Abstürze Berichte über die GP-Konsole:
a.a.a.b.b.c: This is most likely caused by a change in data structure or new RushObject.
This issue should be resolved by a database migration.
This can be done by updating db version number in the manifest or setting Rush in debug mode.
To set Rush in debug mode add this to your manifest file - <meta-data android:name="Rush_debug" android:value="true" />
at a.a.a.a.j.b(Unknown Source)
at a.a.a.b.n.a(Unknown Source)
at a.a.a.b.n.a(Unknown Source)
at a.a.a.b.al.b(Unknown Source)
at com.avena.avenafit.dashboard.g.L(Unknown Source)
at com.avena.avenafit.dashboard.g.a(Unknown Source)
at com.avena.avenafit.dashboard.ad.a(Unknown Source)
at b.a.a.a.c.a(Unknown Source)
at com.avena.avenafit.dashboard.ad.a(Unknown Source)
at android.support.v4.app.af.a(Unknown Source)
at android.support.v4.app.af.a(Unknown Source)
at android.support.v4.app.j.run(Unknown Source)
at android.support.v4.app.af.e(Unknown Source)
at android.support.v4.app.af.b(Unknown Source)
at android.support.v4.app.ap.b(Unknown Source)
at android.support.v4.view.ViewPager.a(Unknown Source)
at android.support.v4.view.ViewPager.c(Unknown Source)
at android.support.v4.view.ViewPager.onMeasure(Unknown Source)
at android.view.View.measure(View.java:18794)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.support.design.widget.CoordinatorLayout.a(Unknown Source)
at android.support.design.widget.CoordinatorLayout.onMeasure(Unknown Source)
at android.view.View.measure(View.java:18794)
at android.support.v4.widget.DrawerLayout.onMeasure(Unknown Source)
at android.view.View.measure(View.java:18794)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.support.v7.widget.ContentFrameLayout.onMeasure(Unknown Source)
at android.view.View.measure(View.java:18794)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)
at android.view.View.measure(View.java:18794)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:18794)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)
at android.view.View.measure(View.java:18794)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2643)
at android.view.View.measure(View.java:18794)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2100)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1216)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1452)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
at android.view.Choreographer.doCallbacks(Choreographer.java:670)
at android.view.Choreographer.doFrame(Choreographer.java:606)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Ich habe bereits versucht, meine DB-Version wie diese auf meinem Manifest-Datei zu ändern:
<!-- Updating this will cause a database upgrade -->
<meta-data
android:name="Rush_db_version"
android:value="2" />
Nun, wenn ich die App aus dem GPStore installiert haben, und ich habe Android Studio offen, ich registriert viele seltsame Fehler zu sehen. Von all denen, bekommt dieses meine Aufmerksamkeit:
07-11 11:17:08.037 17067-17067/com.avena.avenafit E/SQLiteLog: (1) no such column: type_of_check
type_of_check wenn ein Feld auf einer meiner db-Strukturen (wie ich bereits erwähnt, machte mit RushORM). Als Referenz ist hier meine Klasse:
package com.avena.avenafit.dbb;
import co.uk.rushorm.core.RushObject;
public class UserCheck extends RushObject {
private String type_of_check;
private String check_date;
private String hour_checked;
/* Classes must include an empty constructor */
public UserCheck() {}
public String getType_of_check() {
return type_of_check;
}
public void setType_of_check(String type_of_check) {
this.type_of_check = type_of_check;
}
public String getCheck_date() {
return check_date;
}
public void setCheck_date(String check_date) {
this.check_date = check_date;
}
public String getHour_checked() {
return hour_checked;
}
public void setHour_checked(String hour_checked) {
this.hour_checked = hour_checked;
}
}
Und hier ist ein Beispiel, wo ich die type_of_check gesetzt:
breakfast.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
String time =
new SimpleDateFormat("HH:mm", Locale.getDefault()).format(date);
sendCheck("check_breakfast");
breakfast.setColorFilter(color_green);
UserCheck check1 = new UserCheck();
check1.setType_of_check("1");
check1.setCheck_date(currentDate);
check1.setHour_checked(time.toString());
check1.save();
} catch (JSONException e) {
e.printStackTrace();
}
}
});
Sieht jemand, was ich hier fehlt?
Wo Ihre tatsächliche Migration Code, um eine Spalte hinzuzufügen scheint zu deinem Tisch? – Eenvincible
verwenden Sie proguard? – Ramesh
http://www.rushorm.com/#Proguard, wenn Sie Proguard verwenden. Es sieht so aus, als ob Sie aufgrund dieses Fehlerprotokolls eine Verkleinerung vornehmen würden. – mastrgamr