App probleme bei einigen Smartphones NR. 2

  • Antworten:44
  • OffenNicht stickyBentwortet
  • Forum-Beiträge: 55

03.11.2018, 11:40:48 via Website

Bei den meisten Smartphones läuft meine App nun jedoch, scheinen Samsung Geräte immer noch Problematisch (S6 und S9).
Beim Start, stürzt die App direkt ab ohne dass die App überhaupt etwas startet (weißer Hintergrund kurz zu sehen)
Ich verstehe nicht, wo bei einer solch simplen Klasse der Fehler liegen kann. Scheint etwas mit dem drawable zu sein, was mir nicht einleuchtet.

public class Menue extends AppCompatActivity implements View.OnClickListener {

    Button btnGo;
    Button btnScore;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_menue);

        btnGo = (Button) findViewById(R.id.btnGo);
        btnGo.setOnClickListener(this);
        btnScore = (Button) findViewById(R.id.btnScore);
        btnScore.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.btnGo:
                Intent intent = new Intent(this, Spiel.class);
                startActivity(intent);
                this.finish();
                break;
            case R.id.btnScore:
                Intent iZwei = new Intent(this, Ende.class);
                startActivity(iZwei);
                this.finish();
                break;
        }
    }
}

Jetzt kommts, meine erste app, eine simple rätsel app, hatte das selbe Problem, weshalb ich die App aufgegeben hatte ^^

Der fehlercode von der Playconsole bei einem S6

java.lang.RuntimeException: 
  at android.view.DisplayListCanvas.throwIfCannotDraw (DisplayListCanvas.java:260)
  at android.graphics.Canvas.drawBitmap (Canvas.java:1420)
  at android.graphics.drawable.BitmapDrawable.draw (BitmapDrawable.java:545)
  at android.view.View.getDrawableRenderNode (View.java:18585)
  at android.view.View.drawBackground (View.java:18521)
  at android.view.View.draw (View.java:18309)
  at android.view.View.updateDisplayListIfDirty (View.java:17296)
  at android.view.View.draw (View.java:18080)
  at android.view.ViewGroup.drawChild (ViewGroup.java:3966)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:3752)
  at android.view.View.updateDisplayListIfDirty (View.java:17291)
  at android.view.View.draw (View.java:18080)
  at android.view.ViewGroup.drawChild (ViewGroup.java:3966)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:3752)
  at android.view.View.updateDisplayListIfDirty (View.java:17291)
  at android.view.View.draw (View.java:18080)
  at android.view.ViewGroup.drawChild (ViewGroup.java:3966)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:3752)
  at android.view.View.updateDisplayListIfDirty (View.java:17291)
  at android.view.View.draw (View.java:18080)
  at android.view.ViewGroup.drawChild (ViewGroup.java:3966)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:3752)
  at android.view.View.updateDisplayListIfDirty (View.java:17291)
  at android.view.View.draw (View.java:18080)
  at android.view.ViewGroup.drawChild (ViewGroup.java:3966)
  at android.view.ViewGroup.dispatchDraw (ViewGroup.java:3752)
  at android.view.View.draw (View.java:18321)
  at com.android.internal.policy.DecorView.draw (DecorView.java:919)
  at android.view.View.updateDisplayListIfDirty (View.java:17296)
  at android.view.ThreadedRenderer.updateViewTreeDisplayList (ThreadedRenderer.java:692)
  at android.view.ThreadedRenderer.updateRootDisplayList (ThreadedRenderer.java:698)
  at android.view.ThreadedRenderer.draw (ThreadedRenderer.java:806)
  at android.view.ViewRootImpl.draw (ViewRootImpl.java:3128)
  at android.view.ViewRootImpl.performDraw (ViewRootImpl.java:2924
  at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:2516)
  at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1515)
  at android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:7091)
  at android.view.Choreographer$CallbackRecord.run (Choreographer.java:927)
  at android.view.Choreographer.doCallbacks (Choreographer.java:702)
  at android.view.Choreographer.doFrame (Choreographer.java:638)
  at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:913)
  at android.os.Handler.handleCallback (Handler.java:751)
  at android.os.Handler.dispatchMessage (Handler.java:95)
  at android.os.Looper.loop (Looper.java:154)
  at android.app.ActivityThread.main (ActivityThread.java:6682)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1520)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1410)

Kann doch nicht normal sein, dass ich bloß Bahnhof verstehe ^^

— geändert am 03.11.2018, 14:09:27 durch Moderator

Diskutiere mit!
Beste Antwort
  • Forum-Beiträge: 483

06.11.2018, 08:10:57 via Website

Hallo
Also ich würde mal noch was anderes versuchen. Ich würde mal ein Gif nehmen.
Denn PNG kann in verschiedenen arten gespeichert werden. Mit Alpha Kanal und auch ohne .
Das 9 Patch von Ludy erstellt immer eines mit Alpha Kanal egal ob vorher einer drin war oder nicht. Eine Bitmap im android hat auch einen Alpha kanal.
Es Könnte auch sein das die Problem Handy das nicht Richtig Interpretieren und das nicht richtig auslesen.
Deshalb mal Gif da gibt es keinen Alpha Kanal in der Datei. Das müssten dann die Handys auch erkennen und den Kanal selber erzeugen.

Wenn es mit einem Gif geht wissen wir das es wahrscheinlich doch am Dateiformat liegt.
Kann jetzt hier an dem Rechner nicht Prüfen wie deine PNG aufgebaut ist mit oder ohne Alpha .

An ein zu großes Bild glaube ich nicht . Handys anderer Hersteller kommen ohne Probleme mit noch größeren Bildern zu recht. Ich würde schon auf so was wie eine Alpha Kanal Bug bei den Handys Tippen.

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 483

03.11.2018, 11:51:34 via Website

zeige mal das Layout der fehler wird wohl dort stecken.

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 55

03.11.2018, 12:17:12 via Website

ach stimmt ^^

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/clashofpistart"
tools:context=".Menue">

<Button
    android:id="@+id/btnGo"
    style="@android:style/Widget.Button"
    android:layout_width="295dp"
    android:layout_height="93dp"
    android:layout_marginStart="8dp"
    android:layout_marginLeft="8dp"
    android:layout_marginTop="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginRight="8dp"
    android:layout_marginBottom="8dp"
    android:background="@drawable/buttton"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.506"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.55" />

<Button
    android:id="@+id/btnScore"
    android:layout_width="100dp"
    android:layout_height="93dp"
    android:layout_marginStart="8dp"
    android:layout_marginLeft="8dp"
    android:layout_marginTop="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginRight="8dp"
    android:layout_marginBottom="8dp"
    android:background="@drawable/btnleu"
    android:text="SCORE"
    android:textColor="@android:color/black"
    android:textSize="24sp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.91"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.043" />

auf ca. 90 prozent der Smartphones läuft es laut der Play Console.

— geändert am 03.11.2018, 14:10:30 durch Moderator

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 483

03.11.2018, 12:43:03 via Website

Du hast gar kein layout fest gelegt. Die Höhe und Weite ja aber ein Layout nein.

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 55

03.11.2018, 17:06:32 via Website

ich habe das genau so gelernt 😂
Von einem, der angeblich Android Programmierung beherrscht 😂🤷‍♂️

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 483

03.11.2018, 17:45:48 via Website

Sorry habe es auf dem Handy nicht richtig lesen können, aber der end Tag fehlt Trotzdem.

</android.support.constraint.ConstraintLayout>

Es Könnte auch an einem der Animierten Drawable liegen , dem Menue.
An den Hintergrund gaube ich nicht das ist doch bestimmt nur ein Bild.

— geändert am 03.11.2018, 17:49:53

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 483

03.11.2018, 20:22:50 via Website

Hast du den end Tag nur nicht mit gepostet oder gibt es den wirklich nicht.
Ansonsten lasse mal das menue weg brauchst du ja auch nicht.
Wie machst du es das die app im Vollbild dargestellt wird?
Keine Actionbar da braucht man kein Menue.
Ansonsten wie sieht dein Theme aus?

— geändert am 03.11.2018, 22:48:01

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 55

03.11.2018, 21:43:01 via Website

Was genau meinst du mit Endtag?
Das Menue habe ich wegen dem Score Menue drin. Wenn man vom Spiel aus in den Score gelangt, dann ist der neue Score nicht gleich Null und es würde überschrieben werden.
Bin gerade auf Arbeit, sobald ich zugause bin, schicke ich die Details.

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 483

03.11.2018, 22:40:22 via Website

Diese Zeile am ende der XML layout Datei

</android.support.constraint.ConstraintLayout>

Damit beendest du in XML dein layout und die Zeile fehlt zu mindestens im Post. Ob sie auch in deiner Datei fehlt kannst nur du sagen. Im post ist sie nicht vorhanden.

Verstehe nicht warum du das Menü brauchst du hast keine Actionbar also brauchst du auch kein menue.

— geändert am 03.11.2018, 23:40:21

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 483

03.11.2018, 22:58:49 via Website

Was in deiner App auch nicht richtig passt ist.
Das wenn man den Backbutton kickt wird immer die app beendet. Auch wenn ich vom Spiel zum Score gehe erwarte ich das ich nach klick auf den Backbutton zum Spiel zurück komme und nicht die App verlasse.

Aus meiner Sicht brauchst du in deinem Spiel kein Menue. Das kannst du alles über Schaltfläche machen . Auch in der Spiel Activity ist es nicht notwendig . In der Start activity sehe ich kein Bedarf für ein menue.
Das heißt aber noch lange nicht das dies auch der Fehler ist.
Auch interessant ist wie deine style.XML aussieht und somit dein theme. Mit oder ohne actionbar.
Eventuell benutzt du auch Java Anweisungen um die Actionbar auszuschalten. Dann ist ein menue auch sinnlos. Diese Punkte würde ich erstmal checken.
Lasse es doch einfach mal weg und schaue was passiert.

— geändert am 03.11.2018, 23:38:06

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 55

04.11.2018, 11:11:04 via Website

Da bin ich wieder, hatte gestern keien Zeit aber danke wegen deienr Tipps.

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

Styles.xml wäre das

achja verstehe nunw as du meinst. Habe das anscheinend nicht mitkopiert.

Die letzte Zeile in der xml.

Wegen dem Menue, da schaue ich mal, wie ich das regel

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 55

04.11.2018, 12:00:14 via Website

Udate
Soo, Menue weggelassen und trotzdem der selbe Fehler.

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 483

04.11.2018, 12:15:44 via Website

Hallo ich sehe gerade das du gar kein Menü benutzt. Sondern deine MainActivity wohl Menue heißt.
Kannst ja auch mal diese Zeile weglassen.
tools:context=".Menue"

Was aber auch sein kann das die Handys nicht mit dem Hintergrund Bild zurechtkommen.
Das Bild hat eine Auflösung von 1080x1920 vielleicht können das die Handys nicht richtig in ihre Display Auflösung skalieren.
versuche mal ohne den Hintergrund zu arbeiten.

Sind bei dir im Projekt die Ordner drawable-mdpi,ldpi ,hdpi,xhdpi…… Vorhanden?
Wenn ja solltest du dort auch deine Darwable in der entsprechenden Größe ablegen.
Wenn das S9 mit seinen großen Display auf den Ordner xxxhdpi zugreifen will und nichts findet wird es einen Fehler geben.

— geändert am 04.11.2018, 12:26:28

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 483

04.11.2018, 14:07:50 via Website

Hallo ich habe mal eine Standard Projekt erstellt und nur dein Hintergrund Bild ein gefügt.
Lege das Projekt und die erzeugte Apk mit bei. Teste mal mit deinem Handy ob es läuft ich habe leider keines von dem Problem Handys .
Ist nur ein Test da du sagtes das du nicht mal ein einfaches Standart Projekt auf dem Handy zum laufen bekommen hast.

https://drive.google.com/drive/folders/1i3QyQqcYFteL52pBft-WF3vH954I5TRj?usp=sharing

— geändert am 04.11.2018, 14:28:40

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 55

04.11.2018, 16:11:27 via Website

Hey, danke wegen der Antworten.
Ich bin wieder auf Arbeit, sobald ich zuhause bin künmere ich mich drum

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 55

05.11.2018, 14:59:42 via Website

@jokel
deine Apo stratet nicht auf den Problem Handys. Also liegt es am Hintergrund? Habe den Hibtergrund der erste Activity entfernt und es hat trotzdem nicht gestartet.

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 483

05.11.2018, 15:29:36 via Website

Dann weis ich auch nicht weiter.
Wie ist das ist es nur das eine Handy aus der serie oder alle aus dieser Reihe.
Hast du es immer nur mit dem selben Handy gestestet oder auch mit anderen vom selben Typ?

Mache mal ein Rücksetzen am Handy . Ich hatte das auch mal bei meinem Handy das eine App nicht laufen wolte ,nach Handy rücksetzen ging es wieder.

Ich kann es einfach nicht glauben das ein Standart projekt ohne eine Code Zeile geändert zu haben nicht laufen soll.
Installiert wird diei app aber oder?

Für mich ligt das am Handy.

— geändert am 05.11.2018, 15:43:09

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 55

05.11.2018, 16:19:04 via Website

ja sie wird installiert aber andere apps laufen ja? bei eiben von den Handys lief auch eine app von mir vorher nicht. Ähnliches Hibtergrundbild.
Vielleicht sollte ich das hintergrundbikd aus jeder activity entfernen

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 483

05.11.2018, 16:51:27 via Website

Ja also eine App ohne Bild so wie es das studio erstellt muss laufen.
Erstelle ein hallo world Projekt und ändere nichts. Wenn das nicht läuft stimmt mit dem Handy was nicht.

Hilfreich?
Diskutiere mit!

Empfohlene Artikel