Adaptive Icons

  • Antworten:15
Gelöschter Account
  • Forum-Beiträge: 257

27.04.2018, 05:55:35 via App

Hallo liebe AndroidPIT-Community,

ich habe momentan das seltsame Problem, dass mir für meine App "WonderMusic" (https://play.google.com/store/apps/details?id=de.markustippner.wondermusic2) einfach kein Adaptive Icon angezeigt werden will... Bei der App, die wir momentan in der Arbeit programmieren, funktioniert allerdings alles problemlos. Hab auch schon alles verglichen, konnte allerdings keinen Unterschied feststellen... Ich benutze immer den Adaptive Icon Wizard von Android Studio...

Mir wird ständig irgendeine Fehlermeldung um die Ohren geworfen, dass die Icons, aus welchem Grund auch immer, nicht konvertiert werden konnten (irgendwas mit Bitmaps, hab den genauen Wortlaut grad nicht im Kopf), wovon ich aber keine Lösungsansätze ableiten kann...

Vielleicht hat bzw. hatte ja jemand bereits das gleiche Problem und kann mir irgendwie helfen. :)

P.S.: Ich kann die genaue Fehlermeldung leider erst heute Abend posten, da ich grad unterwegs zur Arbeit bin. Ich hoffe aber, dass vielleicht schon mal jemand was damit anfangen kann. Die Hoffnung stirbt ja bekanntlich immer zuletzt. :)

Kommentieren
swa00
  • Forum-Beiträge: 3.704

27.04.2018, 07:19:59 via Website

Moin Markus,

ich hatte mal Ähnliches, ist aber schon ein paar Wochen her.
Letztendlich lag es am AlphaChannel und ich bin wieder schnell auf meine
alte Vorgehensweise zurück gekehrt, die Icons mit CS zu erstellen.

Ich glaube Gimp und icofx haben es auch "gepackt".
Wobei ich immer als Ausgangslage ein 512x512 nehme
http://icofx.ro/

— geändert am 27.04.2018, 07:20:16

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Kommentieren
Gelöschter Account
  • Forum-Beiträge: 257

27.04.2018, 07:22:29 via App

Hallo swa00,

was meinst du denn mit CS? :)

Und mit Alpha-Channel die Canary-Version von Android Studio? Meinst du, ich sollte es vielleicht Mal mit der offiziellen Stable-Version versuchen? Oder kannst du eventuell einen guten Onlinedienst hierfür empfehlen? :)

Hilfreich?
Kommentieren
swa00
  • Forum-Beiträge: 3.704

27.04.2018, 07:27:14 via Website

Es ist noch zu früh - sorry :-)
Ich meinte natürlich PS Photoshop.

Mit Alpha Channel meinte ich den transparenten Alpha Layer eines PNG's.
Und ich denke nicht , dass es etwas mit AS zu tun hat , arbeite jetzt mit 3.1.1. (build 961) und habe keine Problemchen.

Online mache ich gar nichts , Gimp ist eh kostenlos , und icofx gibts auch für 30 bugs.

— geändert am 27.04.2018, 07:28:03

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Kommentieren
Gelöschter Account
  • Forum-Beiträge: 257

27.04.2018, 07:29:25 via App

Achso, danke. Das mit dem Alpha Channel werde ich mir mal anschauen. Persönlich nutze ich lieber Affinity Photo statt Photoshop, aber das sollte ähnlich ablaufen. :)

Hilfreich?
Kommentieren
swa00
  • Forum-Beiträge: 3.704

27.04.2018, 07:31:57 via Website

Nimm auch mal zum Test das Icon von der App in der Firma , vielleicht hat ja dein Ausgangsmaterial schon ne Macke.

P.S Eben hat AS auch wieder ein Update auf 3.1.2 (Gradle 4.4)

— geändert am 27.04.2018, 08:09:44

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Kommentieren
Gelöschter Account
  • Forum-Beiträge: 257

27.04.2018, 07:33:36 via Website

Das ist eine gute Idee. Vielen Dank schon mal! Werde mich natürlich melden, wenn ich weitere Informationen habe. :)

Hilfreich?
Kommentieren
Gelöschter Account
  • Forum-Beiträge: 257

28.04.2018, 08:32:52 via Website

Also, ich habs jetzt noch mal probiert, hab auch alle alten Icons gelöscht und mit dem Android Studio Icon Generator neu erstellt - aber trotzdem kommt beim Starten der App immer die gleiche Fehlermeldung und die App nippelt ab...

04-28 06:30:03.862 15631-15631/de.markustippner.wondermusic2 E/AndroidRuntime: FATAL EXCEPTION: main
    Process: de.markustippner.wondermusic2, PID: 15631
    java.lang.RuntimeException: Unable to start activity ComponentInfo{de.markustippner.wondermusic2/de.markustippner.wondermusic2.activities.MainActivity}: java.lang.ClassCastException: android.graphics.drawable.AdaptiveIconDrawable cannot be cast to android.graphics.drawable.BitmapDrawable
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2892)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3027)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:101)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:73)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1786)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6656)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
     Caused by: java.lang.ClassCastException: android.graphics.drawable.AdaptiveIconDrawable cannot be cast to android.graphics.drawable.BitmapDrawable
        at com.afollestad.appthemeengine.ATE.applyTaskDescription(ATE.java:259)
        at com.afollestad.appthemeengine.ATE.preApply(ATE.java:128)
        at com.afollestad.appthemeengine.ATEActivity.onCreate(ATEActivity.java:22)
        at de.markustippner.wondermusic2.activities.BaseActivity.onCreate(BaseActivity.java:46)
        at de.markustippner.wondermusic2.activities.MainActivity.onCreate(MainActivity.java:137)
        at android.app.Activity.performCreate(Activity.java:7117)
        at android.app.Activity.performCreate(Activity.java:7108)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1262)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2867)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3027) 
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:101) 
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:73) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1786) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:164) 
        at android.app.ActivityThread.main(ActivityThread.java:6656) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823) 

Kann damit jemand was anfangen?

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

28.04.2018, 09:01:51 via Website

Was macht dein Code denn an den angegebenen Stellen:

de.markustippner.wondermusic2.activities.BaseActivity.onCreate(BaseActivity.java:46)
at de.markustippner.wondermusic2.activities.MainActivity.onCreate*(MainActivity.java:137*)

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
Gelöschter Account
  • Forum-Beiträge: 257

28.04.2018, 09:04:45 via Website

Pascal P.

Was macht dein Code denn an den angegebenen Stellen:

de.markustippner.wondermusic2.activities.BaseActivity.onCreate(BaseActivity.java:46)
at de.markustippner.wondermusic2.activities.MainActivity.onCreate*(MainActivity.java:137*)

Bei beiden:

super.onCreate(savedInstanceState);
Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

28.04.2018, 09:08:56 via Website

Scheint wohl eher ein Bug in einer von dir benutzten Lib zu sein:
https://github.com/afollestad/aesthetic/issues/37
Laut Issue aber schon gefixt.. hast du die neuste Version im Gradle eingebunden?

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
Gelöschter Account
  • Forum-Beiträge: 257

28.04.2018, 09:11:50 via Website

Ich habe die von dir genannte Lib nicht integriert. Von diesem Anbieter habe ich lediglich die "Material Dialogs Lib" integriert und diese ist up2date.

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

28.04.2018, 09:50:00 via App

Laut Exception benutzt du diese aber. Kann natürlich sein, dass diese MaterialDialogs die AdaptiveIcons Lib einbindet. Aber dann hast du keine Chance das gescheit zu fixen.

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
Gelöschter Account
  • Forum-Beiträge: 257

28.04.2018, 12:23:58 via Website

Pascal P.

Laut Exception benutzt du diese aber. Kann natürlich sein, dass diese MaterialDialogs die AdaptiveIcons Lib einbindet. Aber dann hast du keine Chance das gescheit zu fixen.

Vielen, vielen Dank, dass ihr mir versucht habt, zu helfen! Nach einigen Stunden der Verzweiflung hab ich den Fehler endlich ausfindig machen können: Ich musste tatsächlich nur die Launcher Icons aus den "mipmap"-Ordnern in die entsprechenden "drawable"-Ordner verschieben und das Manifest entsprechend anpassen... Jetzt scheint die App jedenfalls erst mal nicht mehr abzunippeln... Google und seine Logik...
Na ja, solang es endlich wieder funktioniert. :)

EDIT: Falscher Alarm: Es scheint wohl auch mit den "mipmap"-Ordnern zu funktionieren. Es lag wohl eher am "-anydpi"-Ordner, der entfernt werden wollte...

— geändert am 28.04.2018, 13:15:25

Hilfreich?
Pascal P.
Kommentieren
swa00
  • Forum-Beiträge: 3.704

28.04.2018, 13:53:38 via Website

EDIT: Falscher Alarm: Es scheint wohl auch mit den "mipmap"-Ordnern zu funktionieren. Es lag wohl eher am "-anydpi"-Ordner, der entfernt werden wollte...

Der sollte auch nicht -anydpi heissen, sondern -nodpi

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Kommentieren
Gelöschter Account
  • Forum-Beiträge: 257

28.04.2018, 13:54:58 via Website

swa00

EDIT: Falscher Alarm: Es scheint wohl auch mit den "mipmap"-Ordnern zu funktionieren. Es lag wohl eher am "-anydpi"-Ordner, der entfernt werden wollte...

Der sollte auch nicht -anydpi heissen, sondern -nodpi

OK. Komisch nur, dass der Icon Generator von Android Studio selbst genau diesen Ordner mit der Suffix "-anydpi" erstellt... Na ja, funktioniert ja jetzt endlich. :)

Hilfreich?
Kommentieren