• Announcements

    • andrewilley

      Poweramp v3 Project Update   03/22/2017

      As you may be aware, the Poweramp developer has been working hard on an updated material design user interface for Poweramp v3 which required a full ground-up rebuild of the code. It's not quite ready for open testing yet, and although he would like to be able to get it out by the end of the March it may just drop over into April. See forum thread for more details and to discuss.    
maxmp

Building Skins - Quick Start Guide

47 posts in this topic

Prerequisites:

  • Install Android SDK (you may need to install various required components, see System requirements here – http://developer.and.../sdk/index.html). Current Poweramp skin build script is ADT 23.0.5 compatible.
  • Ensure you have BOTH Android SDK Build-tools 21.1.1 and 20 installed
  • Download/extract skin projects, import into Eclipse (get latest poweramp_api sources: https://github.com/maxmpz/powerampapi).
  • Now you're ready to review, make modifications in Eclipse and compile/build skins in console. Note that you can build skin only from console with Ant, thus, ensure “ant” command is in path and Ant generally works. You can't build/”run” skin from within Eclipse, it will probably find non-existent errors (just “delete” errors in Eclipse Problems then, as they are not relevant anyway).

How Poweramp themes work in short:

  • Poweramp uses standard Android layouts/styles/themes and resources (http://developer.and...-resources.html)
  • Poweramp contains “default” skin, other skins inherit from this one, thus it's not necessary to define each and every image, style, layout, etc. to build your skin – you just redefine parts you want to redefine.
  • Poweramp demo skin sources include Ant build skin, which can be used both for developing/debugging your skin via jar packaging (“ant jarpush”, which immediately uploads skin jar to the connected device/emulator), or for APK building.
  • Poweramp detects installed skins (either built as APK or as jar files in appropriate folder on sd card) and shows them in Settings => Look and Feel => Theme
  • Poweramp detects skin change on Activity.onDestroy, i.e. when some Poweramp screen closed/navigated away with back button.

post-1749-0-76988500-1344541449_thumb.pn


Poweramp skin is:

  • An Android project with specific ant build script
  • skin_lib library project, which is referenced by your skin project. skin_lib contains necessary AndroidManifest.xml definitions, some java/xml code for InfoActivity (the default activity which is started when skin icon is pressed in launcher)

  • Skin APK which contains skin resources and also some Activity (sample skins contain Activity which has just small hint/about text and button, which opens Poweramp theme selection dialog via intent).
  • Skin APK manifest should contain <meta-data android:name="com.maxmpz.PowerampSkins" android:value="true"/>. This is used by Poweramp to find skin “app”, installed on the device.
  • Each theme in skin APK/jar is listed in values/skins.xml. There are 3 arrays (1 integer array and 2 string-arrays). First one contains (<integer-array name="poweramp_skins">) list of skin themes, second list contain skin names (<string-array name="poweramp_skin_names">), and third – skin author names (<string-array name="poweramp_skin_authors">). Basically, you can start with modifying these strings as needed in sample skin sources.

Selected skin theme/style applied to the whole application (either on user theme user selection in theme dialog or when Poweramp starts for the first time). Android styles and various other resources support some sort of “inheritance” - meaning app theme can be derived from some other global theme, which only few styles/images/dimensions/etc. redefined where needed.

 

Poweramp exploits this in its theme implementation, this simplifies skin development a lot, as skin author can start with “default” skin and modify elements he/she wishes gradually until desired result achieved.

For example, one skin author can redefine just Poweramp backgrounds, buttons, but leave icons as is. While another author can change all fonts, icons, some layouts, but leave “as is” backgrounds and buttons from default theme.

Generally, only limited number of styles could be modified to get absolutely different look from skin, but anyway, almost each style/resource in Poweramp can be overridden, though it's not strictly required or needed.

How to start building your own skin:

  • copy some provided skin source/template (e.g. skin_template) and name it as desired
  • ensure the skin_lib project is available to Eclipse and ant build tools (skin_lib project is near your skin project folder)

  • rename skin_lib/local.properties.EDITME to skin_lib/local.properties and edit it:

    • point sdk.dir to your android-sdk root directory

  • edit <your project>/AndroidManifest.xml – change <manifest> package attribute to some developer/skin unique name

  • edit <your project>/res/values/strings.xml app_name string – this is app/skin name, visible in Google Play/device Apps tab, etc.

  • rename <your project>/local.properties.EDITME to <your project>/local.properties and edit it:

    • point sdk.dir to your android-sdk root directory

    • point key.store and and set key.alias to your android developer keystore/alias. Only needed for release version of APK for publishing on Google Play

  • <optionally> edit import project name in .project file (<name> tag) and “Import...” project into Eclipse project. Any text editor can be actually used for skin creation, Eclipse or other IDE is not required.

Skin build process:

  • ant – (default task) - Simple build skin as jar: while in skin directory
    Build should end with something like:
    BUILD SUCCESSFUL
    Total time: 1 second
  • ant jarpush - build (debug) skin as .jar and upload to the device
    New skin is immediately available in Poweramp themes selection dialog. This is preferred way of debugging skins, as Poweramp can also detect jar changes immediately – you just need to close/return from Poweramp screen and start it again.
  • ant apkpush – build (debug) skin as .apk and upload/install to the device.
  • ant dist – build release skin as .apk and put it named as ${ant.project.name} into /dist directory. These builds are numbered appropriately with version.num, but AndroidManifest.xml is not modified automatically, i.e. you should manually increment version numbers there for updates on Google Play.

Namespaces:
It's important to understand how namespaces work in skin xml files and how to properly use them to override some Poweramp style, image, layout, etc.

Various styles, images, strings, ids, almost anything in Android xml resources and resources themselves are identified by simple name within some namespace. By default (when namespace part is not specified), Android resource compiler uses project package name.

Poweramp package name is “com.maxmpz.audioplayer”, thus all resource references for Poweramp should be prefixed with “com.maxmpz.audioplayer:” (with semicolon) to be visible to Poweramp.

Simple example: <item name=”Text1”>...</item> - this defines some Text1 attribute, which is not visible to Poweramp, nor overrides anything for custom Poweramp skin.

<item name="com.maxmpz.audioplayer:Text1">@style/Classic_Text1</item>

This overrides Poweramp Text1 attribute and forces Poweramp to use skin Classic_Text1 style everywhere, where Text1 attribute is referenced in Poweramp.

 

com.maxmpz.audioplayer namespaceprefix should be used also for in-layout ids (as Poweramp should be able to find widgets by known-by-Poweramp ids), strings, dimen(sions) and other resources.

This prefix shouldn't be used for the skin customized styles or other possible resources which skins adds to Poweramp – including new drawables, icons, custom layouts, colors, etc.

You can see clear examples of namespace prefix usage in skin_classic sources.

 

 

Sample projects and resources:

 

skin_lib

skin_lib project is not a sample project, but a library project, which should be referenced by your skin project. All skin SDK sample projects reference skin_lib, so if you copy/paste some sample project into the same directory where skin_lib project is located, reference is already valid. Otherwise you should edit <your project>/project.properties file and point android.library.reference.1 property to your skin_lib project location.

 

To setup this project, please rename skin_lib/local.properties.EDITME to skin_lib/local.properties and edit it:

  • point sdk.dir to your android-sdk root directory

 

NOTE: please try not to customize/edit skin_lib project, except local.properties file. Instead, you can override everything in your skin project.

 

The skin_lib library provides:

  • basic AndroidManifest.xml definitions, required for Poweramp Skin APK (meta)

  • basic resources, required for skin - /res/public.xml,

  • full InfoActivity implementation, which is capable of:

  • selecting skin (multiple skins in one APK are supported)

  • supporting Poweramp themed icon

  • hiding skin icon from launcher

  • few basic string labels in strings.xml

  • ant build script rules for both library project and for the skin projects

  • reference Poweramp APK which is required in skin build process

skin_template

This is empty skin, which can be built out of box (please see section How to start building your own skin).

“Empty” means there are no overrides to default Poweramp skin at all.

two_skins

This is almost empty skin (just song title color override), which shows how to implement 2 or more skins in one APK.

skin_classic

This is full source of Poweramp Classic Skins, which include many skin overrides, graphics, layouts, etc.

skin_custom_info_activity

This sample skin project shows how to override skin_lib InfoActivity and add some extra buttons into it. This project tries to reuse as much as possible from skin_lib, derives activity class from skin_lib InfoActivity, but fully overrides AndroidManifest.xml.

reference_resources

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.

default_style.psd

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 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 skins, you can follow any other naming scheme as long as you properly put your drawables/images names into appropriate XML files.   

 

Lollipop (Android 5.0) compatible skins

  • You may need to rebuild your skin with latest poweramp_skin_sdk revision. Please check poweramp_skin_sdk changelog.txt for detais.

  • Update android:targetSdkVersion to 21 in AndroidManifest.xml of your skin and in project.properties

  • Android 5.0 doesn't support skin defined attrs.xml (style attributes) anymore. Those won't be resolved and skin will fail to load. Please remove such attributes from your skin xml code and use one of the following workarounds:

    • just use some styles/values directly, instead of using custom skin attributes

    • use some Poweramp defined attribute which can be safely used for skin (e.g. com.maxmpz.audioplayer:background can be used freely as skin attribute, as Poweramp uses it internally for sub styles)

    • use skin_ref1..skin_ref10, skin_bg1..skin_bg10, skin_color1..skin_color10, skin_dimen1..skin_dimen10 attributes (see reference resources values/attrs.xml for details). This is provided by Poweramp build-565+

Share this post


Link to post
Share on other sites

This is nice and I want to get into making a theme for this app but could you do a video or posts some screenshots on how to do this as it's hard to follow these steps without any pictures.

Thanks.

Share this post


Link to post
Share on other sites

Thanks for the feedback. We can provide some how-tos for initial steps, but the theme creation itself is not easy to describe with the pics - as this is basically Android XML resources based development and skin author should be familiar with it (more or less).

Share this post


Link to post
Share on other sites

Thanks for the feedback. We can provide some how-tos for initial steps, but the theme creation itself is not easy to describe with the pics - as this is basically Android XML resources based development and skin author should be familiar with it (more or less).

Ok cool. Just that the introduction getting it imported is the confusing part. If you could give a tutorial on just getting it into eclipse then that'll be great.

Share this post


Link to post
Share on other sites
Just that the introduction getting it imported is the confusing part.

Sorry, but what exactly is confusing? Just unzip the Skin SDK zip and import one of the provided projects into Eclipse as usual (File -> Import).

Thanks!

Share this post


Link to post
Share on other sites

The app doesn't compile correctly because of the way the app was signed with personal keys. Any solutions?

Share this post


Link to post
Share on other sites

Lupe

point key.store and key.alias to your android developer keystore/alias. Only needed for release version of APK for publishing on Google Play

Share this post


Link to post
Share on other sites

I could use some how-to steps on Eclipse/Ant part. I've been using eclipse to compile and sign my apks for a while. I don't know anything about ant :(

I'll google in the mean time.

Share this post


Link to post
Share on other sites

Poweramp skins APK can't be built by Eclipse at this moment (we're looking for workaround), as these APKs have special prepared resources.

The "ant" command works as simple as opening console, cd'ing into the project directory and typing one of the commands from Skin build process

Share this post


Link to post
Share on other sites

I have problem with building classic skin downloaded from skin-sdk thread

Build process stops at "cannot find apk"


Z:\workspace\InfoActivity>ant
Buildfile: Z:\workspace\InfoActivity\build.xml
-check-env:
[checkenv] Android SDK Tools Revision 21.0.1
[checkenv] Installed at C:\Program Files (x86)\Android\android-sdk
-setup:
[echo] Project Name: Poweramp-Classic-Skin
[gettype] Project Type: Application
-pre-clean:
clean:
[delete] Deleting directory Z:\workspace\InfoActivity\bin
[delete] Deleting directory Z:\workspace\InfoActivity\gen
[getlibpath] Library dependencies:
[getlibpath] No Libraries
[subant] No sub-builds to iterate on
-set-jar:
-build-setup:
[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: Z:\workspace\InfoActivity\bin
[mkdir] Created dir: Z:\workspace\InfoActivity\bin\res
[mkdir] Created dir: Z:\workspace\InfoActivity\gen
[mkdir] Created dir: Z:\workspace\InfoActivity\bin\classes
[mkdir] Created dir: Z:\workspace\InfoActivity\bin\dexedLibs
[echo] ----------
[echo] Resolving Dependencies for Poweramp-Classic-Skin...
[dependency] Ordered libraries:
[dependency]
[dependency] ------------------
[dependency] API<=15: Adding annotations.jar to the classpath.
[echo] ----------
[echo] Building Libraries with '${build.target}'...
[subant] No sub-builds to iterate on
-code-gen:
[echo] SKIN: Generating R.java / Manifest.java from the resources...
[exec] W/asset ( 9140): 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.
BUILD FAILED
Z:\workspace\InfoActivity\build.xml:37: exec returned: 1
Total time: 1 second

I know the problem occurs because local.properties has not been configured.

Can someone tell me how to modify Poweramp.apk path to make it work? Do I need the actual Poweramp.apk file? How to get it?


# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must *NOT* be checked in Version Control Systems,
# as it contains information specific to your local configuration.
# location of the SDK. This is only used by Ant
# For customization when using a Version Control System, please read the
# header note.
sdk.dir=C:/Program Files (x86)/Android/android-sdk/
Poweramp.apk=../../audioplayer/bin/audioplayer.apk
key.store=../../maxim-m-petrov-key.keystore
key.alias=maxim-m-petrov-key

Thank you so much

Share this post


Link to post
Share on other sites

you simply use the apk that you download from the market or off of the powerampapp.com website (not the unlocker, but the trial)... Install it with apktool as a framework:


apktool if C:\path\to\Poweramp.apk

Once you have installed this as a framework, you shoud change the path to Poweramp.apk to point to the apk on your computer. You should then be able to compile without issue :-)

Share this post


Link to post
Share on other sites

you simply use the apk that you download from the market or off of the powerampapp.com website (not the unlocker, but the trial)... Install it with apktool as a framework:


apktool if C:\path\to\Poweramp.apk

Once you have installed this as a framework, you shoud change the path to Poweramp.apk to point to the apk on your computer. You should then be able to compile without issue :-)

Thanks :lol:

I can compile without problem now

Share this post


Link to post
Share on other sites

I have a problem with the first step of (Skin build process). When I type ant, I receive this error

Target "clean" does not exist in the project "Poweramp-Classic-Skin". It is used from target "jar"

I read about ant for a week ... I always hang at the same place.

thank you in advance

build.xml

Project files : http://www.mediafire...0ba5e184028u7e1

five errors in eclipse at the build.xml :

http://img15.hostingpics.net/pics/164299Sanstitre.jpg

Share this post


Link to post
Share on other sites

Hi, i've imported into Eclipse an Android aplication project from poweramp_skin_sdk > skin_classic folder.

I made ​​the changes in manifest package and point sdk.dir and Poweramp.apk locations.

When i try to run "ant apkpush" i get something like this:

 

[echo] SKIN: Generating R.java / Manifest.java from the resources...
     [exec] C:\Users\marketing01\workspace\skin_classic\res\values\classic_skin_styles.xml:4: error: Error retrieving parent for item: No resource found that matches the given name '@com.maxmpz.audioplayer:style/ActivityTheme_Default'.
     [exec] C:\Users\marketing01\workspace\skin_classic\res\values\classic_skin_styles.xml:43: error: Error: No resource found that matches the given name: attr 'com.maxmpz.audioplayer:BigRoundButton'.

 

Can someone help me?

Share this post


Link to post
Share on other sites

Hi, i've imported into Eclipse an Android aplication project from poweramp_skin_sdk > skin_classic folder.

I made ​​the changes in manifest package and point sdk.dir and Poweramp.apk locations.

When i try to run "ant apkpush" i get something like this:

 

[echo] SKIN: Generating R.java / Manifest.java from the resources...

     [exec] C:\Users\marketing01\workspace\skin_classic\res\values\classic_skin_styles.xml:4: error: Error retrieving parent for item: No resource found that matches the given name '@com.maxmpz.audioplayer:style/ActivityTheme_Default'.

     [exec] C:\Users\marketing01\workspace\skin_classic\res\values\classic_skin_styles.xml:43: error: Error: No resource found that matches the given name: attr 'com.maxmpz.audioplayer:BigRoundButton'.

 

Can someone help me?

 

I don't think you've properly configured your local.properties file with the path to the Poweramp apk. This is required in order for the compiler to reference, for example, the styles that are listed above. Double check and make sure that the path to your Poweramp.apk is correct... I used an absolute path instead of a relative path in my local.properties... Not sure if that makes a difference here.

Share this post


Link to post
Share on other sites

Thanks for the help. You are right, i was linking an incorrect Poweramp apk.

 

Now my problem is i don´t know how to set key.store and key.alias . I generated an android sign from other android project and set the direction to this file in key.store. When i make ant dist eclipse ask for the password but i type it and then i get error.

Share this post


Link to post
Share on other sites

Thanks for the help. You are right, i was linking an incorrect Poweramp apk.

 

Now my problem is i don´t know how to set key.store and key.alias . I generated an android sign from other android project and set the direction to this file in key.store. When i make ant dist eclipse ask for the password but i type it and then i get error.

 

What error message do you get?

Share this post


Link to post
Share on other sites

Hi, i'am trying just to build the example theme

 

But it doesn't work

pdroid@linuxUB-MS-7596:~/adt-bundle-linux-x86_64-20130522/eclipse/workspace/powerampapi/poweramp_api_example$ ant distBuildfile: /home/pdroid/adt-bundle-linux-x86_64-20130522/eclipse/workspace/powerampapi/poweramp_api_example/build.xmlBUILD FAILEDTarget "dist" does not exist in the project "MainActivity". Total time: 0 seconds
 

When i run ant alone i get this

pdroid@linuxUB-MS-7596:~/adt-bundle-linux-x86_64-20130522/eclipse/workspace/powerampapi/poweramp_api_example$ ant Buildfile: /home/pdroid/adt-bundle-linux-x86_64-20130522/eclipse/workspace/powerampapi/poweramp_api_example/build.xmlhelp:     [echo] Android Ant Build. Available targets:     [echo]    help:      Displays this help.     [echo]    clean:     Removes output files created by other targets.     [echo]               This calls the same target on all dependent projects.     [echo]               Use 'ant nodeps clean' to only clean the local project     [echo]    debug:     Builds the application and signs it with a debug key.     [echo]               The 'nodeps' target can be used to only build the     [echo]               current project and ignore the libraries using:     [echo]               'ant nodeps debug'     [echo]    release:   Builds the application. The generated apk file must be     [echo]               signed before it is published.     [echo]               The 'nodeps' target can be used to only build the     [echo]               current project and ignore the libraries using:     [echo]               'ant nodeps release'     [echo]    instrument:Builds an instrumented package and signs it with a     [echo]               debug key.     [echo]    test:      Runs the tests. Project must be a test project and     [echo]               must have been built. Typical usage would be:     [echo]                   ant [emma] debug install test     [echo]    emma:      Transiently enables code coverage for subsequent     [echo]               targets.     [echo]    install:   Installs the newly build package. Must either be used     [echo]               in conjunction with a build target (debug/release/     [echo]               instrument) or with the proper suffix indicating     [echo]               which package to install (see below).     [echo]               If the application was previously installed, the     [echo]               application is reinstalled if the signature matches.     [echo]    installd:  Installs (only) the debug package.     [echo]    installr:  Installs (only) the release package.     [echo]    installi:  Installs (only) the instrumented package.     [echo]    installt:  Installs (only) the test and tested packages (unless     [echo]               nodeps is used as well.     [echo]    uninstall: Uninstalls the application from a running emulator or     [echo]               device. Also uninstall tested package if applicable     [echo]               unless 'nodeps' is used as well.BUILD SUCCESSFULTotal time: 0 seconds

Here is my local.properties file :

# This file is automatically generated by Android Tools.# Do not modify this file -- YOUR CHANGES WILL BE ERASED!# # This file must *NOT* be checked in Version Control Systems,# as it contains information specific to your local configuration.# location of the SDK. This is only used by Ant# For customization when using a Version Control System, please read the# header note.sdk.dir=../../../../sdk/Poweramp.apk=../Poweramp-2.0.9-build-529.apkkey.store=../../../../../keyskey.alias=../../../../../keys

Thanks for help ;)

 

Share this post


Link to post
Share on other sites

Hi, i'am trying just to build the example theme

 

But it doesn't work

pdroid@linuxUB-MS-7596:~/adt-bundle-linux-x86_64-20130522/eclipse/workspace/powerampapi/poweramp_api_example$ ant distBuildfile: /home/pdroid/adt-bundle-linux-x86_64-20130522/eclipse/workspace/powerampapi/poweramp_api_example/build.xmlBUILD FAILEDTarget "dist" does not exist in the project "MainActivity". Total time: 0 seconds
 

When i run ant alone i get this

pdroid@linuxUB-MS-7596:~/adt-bundle-linux-x86_64-20130522/eclipse/workspace/powerampapi/poweramp_api_example$ ant Buildfile: /home/pdroid/adt-bundle-linux-x86_64-20130522/eclipse/workspace/powerampapi/poweramp_api_example/build.xmlhelp:     [echo] Android Ant Build. Available targets:     [echo]    help:      Displays this help.     [echo]    clean:     Removes output files created by other targets.     [echo]               This calls the same target on all dependent projects.     [echo]               Use 'ant nodeps clean' to only clean the local project     [echo]    debug:     Builds the application and signs it with a debug key.     [echo]               The 'nodeps' target can be used to only build the     [echo]               current project and ignore the libraries using:     [echo]               'ant nodeps debug'     [echo]    release:   Builds the application. The generated apk file must be     [echo]               signed before it is published.     [echo]               The 'nodeps' target can be used to only build the     [echo]               current project and ignore the libraries using:     [echo]               'ant nodeps release'     [echo]    instrument:Builds an instrumented package and signs it with a     [echo]               debug key.     [echo]    test:      Runs the tests. Project must be a test project and     [echo]               must have been built. Typical usage would be:     [echo]                   ant [emma] debug install test     [echo]    emma:      Transiently enables code coverage for subsequent     [echo]               targets.     [echo]    install:   Installs the newly build package. Must either be used     [echo]               in conjunction with a build target (debug/release/     [echo]               instrument) or with the proper suffix indicating     [echo]               which package to install (see below).     [echo]               If the application was previously installed, the     [echo]               application is reinstalled if the signature matches.     [echo]    installd:  Installs (only) the debug package.     [echo]    installr:  Installs (only) the release package.     [echo]    installi:  Installs (only) the instrumented package.     [echo]    installt:  Installs (only) the test and tested packages (unless     [echo]               nodeps is used as well.     [echo]    uninstall: Uninstalls the application from a running emulator or     [echo]               device. Also uninstall tested package if applicable     [echo]               unless 'nodeps' is used as well.BUILD SUCCESSFULTotal time: 0 seconds
Here is my local.properties file :

# This file is automatically generated by Android Tools.# Do not modify this file -- YOUR CHANGES WILL BE ERASED!# # This file must *NOT* be checked in Version Control Systems,# as it contains information specific to your local configuration.# location of the SDK. This is only used by Ant# For customization when using a Version Control System, please read the# header note.sdk.dir=../../../../sdk/Poweramp.apk=../Poweramp-2.0.9-build-529.apkkey.store=../../../../../keyskey.alias=../../../../../keys
Thanks for help ;)

Can you please post your build.xml file.

Share this post


Link to post
Share on other sites

I was in the wrong folder, if you watch, i was in "poweramp_api_example" and not in "poweramp_skin_sdk/skin classic"

 

Now i am ! and i get issues !

     [exec] ERROR: asset directory '/home/pdroid/adt-bundle-linux-x86_64-20130522/eclipse/workspace/purewhite/assets' does not existBUILD FAILED/home/pdroid/adt-bundle-linux-x86_64-20130522/eclipse/workspace/purewhite/build.xml:57: exec returned: 1
build.xml

 

Thanks for your answer :)

 

Edit : And 've got a question, when you do this step :

2 : edit AndroidManifest.xml – change <manifest> package attribute to some developer/skin unique name

You can't compile, there is an error "com.maxmpz.Poweramp.skins.classic does not exist"

And when you re write com.maxmpz.Poweramp.skins.classic in Android manifest, this error disappears

I d'on't hunderstand how we can personalize our package

(This error is still here, even if i rename folders in src)

Share this post


Link to post
Share on other sites

I was in the wrong folder, if you watch, i was in "poweramp_api_example" and not in "poweramp_skin_sdk/skin classic"

 

Now i am ! and i get issues !

[exec] ERROR: asset directory '/home/pdroid/adt-bundle-linux-x86_64-20130522/eclipse/workspace/purewhite/assets' does not existBUILD FAILED/home/pdroid/adt-bundle-linux-x86_64-20130522/eclipse/workspace/purewhite/build.xml:57: exec returned: 1
attachicon.gifbuild.xml

 

Thanks for your answer :)

said that the assets directory doesn't exist. Add an empty asset dir to /home/pdroid/adt-bundle-linux-x86_64-20130522/eclipse/workspace/purewhite it doesn't need to contain anything. Try recompiling again after adding the directory.

Share this post


Link to post
Share on other sites

For assets, it works, thx

Thanks for your answer :)

 
Edit : And 've got a question, when you do this step :
You can't compile, there is an error "com.maxmpz.Poweramp.skins.classic does not exist"
And when you re write com.maxmpz.Poweramp.skins.classic in Android manifest, this error disappears
I d'on't hunderstand how we can personalize our package
(This error is still here, even if i rename folders in src)

 

 

Now, there is an issue with my keys, i made them by compiling an apk with inteliJ, for alias and store i've only One file wich is ~/keys

My password had been asked, but after he can't find the file "keys"  :huh:

I verified, the file "keys" is in "~/" folder with the good typo

When i input a wrong password, the return is "wrong password" so the keys are readen

-release-prompt-for-password:    [input] Please enter keystore password (store:../../../../keys):*****************    [input] Please enter password for alias '../../../../keys':*****************-release-nosign:-release-sign:     [echo] Signing final apk...BUILD FAILED/home/pdroid/adt-bundle-linux-x86_64-20130522/sdk/tools/ant/build.xml:1132: The following error occurred while executing this line:/home/pdroid/adt-bundle-linux-x86_64-20130522/sdk/tools/ant/build.xml:1144: Signing key ../../../../keys not found

Thank you

Share this post


Link to post
Share on other sites

For assets, it works, thx

 

Now, there is an issue with my keys, i made them by compiling an apk with inteliJ, for alias and store i've only One file wich is ~/keys

My password had been asked, but after he can't find the file "keys"  :huh:

I verified, the file "keys" is in "~/" folder with the good typo

When i input a wrong password, the return is "wrong password" so the keys are readen

-release-prompt-for-password:    [input] Please enter keystore password (store:../../../../keys):*****************    [input] Please enter password for alias '../../../../keys':*****************-release-nosign:-release-sign:     [echo] Signing final apk...BUILD FAILED/home/pdroid/adt-bundle-linux-x86_64-20130522/sdk/tools/ant/build.xml:1132: The following error occurred while executing this line:/home/pdroid/adt-bundle-linux-x86_64-20130522/sdk/tools/ant/build.xml:1144: Signing key ../../../../keys not found

Thank you

 

In your local.properties file, the key.store should point to your keystore file key.keystore or something similar (which I think your ok with) and the key.alias is the alias that you used to setup your keystore (like a username, not a path). this is not a path like I see in your previous post. and in regards to the AndroidManifest.xml file, the following line must be present and unchanged:

<meta-data android:name="com.maxmpz.PowerampSkins" android:value="true"/>

You can specify your package name in the first directive as such:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.nwwebdesign.poweramp.skins.PurpleSilk" android:versionCode="4" android:versionName="1.3">

Hopefully this will get your first build to run successfully ;-)

Share this post


Link to post
Share on other sites
<meta-data android:name="com.maxmpz.PowerampSkins" android:value="true"/>
You can specify your package name in the first directive as such:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.nwwebdesign.Poweramp.skins.PurpleSilk" android:versionCode="4" android:versionName="1.3">
Hopefully this will get your first build to run successfully ;-)
That stuffs was already done, but if i change the package name, i get an error.

I'll try to start build with only manifest, res folder, src folder with my name

With ant debug it works fine but it's not my signature !

Do you know how i can create key.store and key.alias ?

Thanks :)

Share this post


Link to post
Share on other sites

That stuffs was already done, but if i change the package name, i get an error.

I'll try to start build with only manifest, res folder, src folder with my name

With ant debug it works fine but it's not my signature !

Do you know how i can create key.store and key.alias ?

Thanks :)

 

Check out the android developer page on creating a keystore. This is where I learned from ;-)

 

http://developer.android.com/tools/publishing/app-signing.html

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now