Jump to content

Skin SDK


Recommended Posts


This is first iteration of Skin SDK, any comments/bug reports are welcome in this topic. Please, in this topic, keep discussion close to Skin SDK itself - start a new topic for some general question about Skin creation.



- added .9 in default_style.psd for 9-patch images

- added sdk_contents.rtf

- using .rtf instead of .doc for docs


- initial release

Link to comment
Share on other sites


These are Poweramp resources (animations, colors, drawables, layouts, dimensions, etc.) resources given for reference. As Poweramp skins are derived from default skin, please use reference_resources/values/default_styles.xml as primary source for available "skinnable" styles.


Poweramp classic skin full source (as on Google Play).


Simple skin project, which can be copy-pasted to the new project and used as template for the new skins.


Simple skin project, demonstrates how two or more skins can be packed into one project/APK.


Default theme "source" photoshop file. This is the file, from which all Poweramp graphic resources were generated for default theme. Note that the file is heavily organized into:

- Layer Comps. Please enable Layer Comps in Photoshop (Window=>Layer Comps) to quickly show/hide appropriate Poweramp layouts/elements.

- Grouped Layers. There are various groups, which visibilities are controlled by Layer Comps

- Layer Names. These can be directly used as resulting image name. Various additional words after space should be ignored in the name (such as "copy", "xdpi", "mdpi", etc.). Default skin also adds "matte_" to each image name (as Poweramp has also few other themes, with graphics prefixed by theme name). Prefixing is not necessary for custom theme, but advised. Also, this is the only way to have two or more skins in one APK.

- Layers. All Poweramp generated graphics placed into separate Smart Object layers. Those layers, which are not Smart Objects, are not used in Poweramp, but just there for the visual help (i.e. android wallpaper, android statusbar, some backgrounds, etc.). Each Smart Object can be separately opened, edited and saved. Such separate Smart Object documents have specifically assigned dimension (width x height) to match icon and layout sizes. Some Smart Objects are duplicated right in PSD file for xhdpi/mdpi resolutions, some are not (where not needed).

- 9p files. Note that some layers have .9 suffix. This means, they have 9-patch "meta" black lines added (via "9p" named layer) and should be saved as "layername.9p.png"

- Smart Object Layer Comp. Some images have few states, for example, buttons have normal, pressed, and focused states. These are all there, implemented via Layer Comps for such Smart Objects. When such Smart Object double clicked in Layers tab, Smart Object document Layer Comps tab will show available states. Normal state image is saved with Layer name, without suffixes (button.png), other state - with lowercase state name after underscore "_" (button_pressed.png, button_focused.png). This is true for Poweramp default skins, you can follow any other naming scheme as long as you properly put your drawables/images names into the appropriate XML files.

Link to comment
Share on other sites

  • 5 months later...

sorry...have a problem while compailing skins (classic skin):

somebody please help...


[checkenv] Android SDK Tools Revision 21.0.1
[checkenv] Installed at c:\Program Files\sdk\sdk

[echo] Project Name: Poweramp-Classic-Skin
[gettype] Project Type: Application


[delete] Deleting directory c:\skin\skin_classic\bin
[delete] Deleting directory c:\skin\skin_classic\gen
[getlibpath] Library dependencies:
[getlibpath] No Libraries
[subant] No sub-builds to iterate on


[echo] Resolving Build Target for Poweramp-Classic-Skin...
[gettarget] Project Target: Android 2.2
[gettarget] API level: 8
[echo] ----------
[echo] Creating output directories if needed...
[mkdir] Created dir: c:\skin\skin_classic\bin
[mkdir] Created dir: c:\skin\skin_classic\bin\res
[mkdir] Created dir: c:\skin\skin_classic\gen
[mkdir] Created dir: c:\skin\skin_classic\bin\classes
[mkdir] Created dir: c:\skin\skin_classic\bin\dexedLibs
[echo] ----------
[echo] Resolving Dependencies for Poweramp-Classic-Skin...
[dependency] Ordered libraries:
[dependency] ------------------
[dependency] API<=15: Adding annotations.jar to the classpath.
[echo] ----------
[echo] Building Libraries with '${build.target}'...
[subant] No sub-builds to iterate on

[echo] SKIN: Generating R.java / Manifest.java from the resources...
[exec] W/asset ( 2600): Asset path ..\..\audioplayer\bin\audioplayer.apk is neither a directory nor file (type=1).
[exec] ERROR: Asset package include '..\..\audioplayer\bin\audioplayer.apk' not found.

c:\skin\skin_classic\build.xml:37: exec returned: 1

Total time: 1 second


p.s. i find answer! ^)

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Create New...