Adaptive Icons

  • Antworten:15
  • OffenNicht stickyNicht beantwortet
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. :)

Diskutiere mit!
  • Forum-Beiträge: 2.902

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?
Diskutiere mit!
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?
Diskutiere mit!
  • Forum-Beiträge: 2.902

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?
Diskutiere mit!
  • Forum-Beiträge: 2.902

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?
Diskutiere mit!
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?
Diskutiere mit!
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.169

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?
Diskutiere mit!
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?
Diskutiere mit!
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.169

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?
Diskutiere mit!
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?
Diskutiere mit!
  • Forum-Beiträge: 2.902

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?
Diskutiere mit!
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?
Diskutiere mit!

Empfohlene Artikel