AIR ADT duplicates icons within package

I have a detailed question on SO, but hoping to get more exposure to experts here.
In short, in regards to application icons in descriptor-app.xml, the documentation states:
"The path specified is relative to the application root directory.
Note: The icons specified are not automatically added to the AIR package. The icon files must be included in their correct relative locations when the application is packaged."
If my descriptor file has icons like this:
<icon>
   <image16x16>icons/smallIcon.png</image16x16>
   <image32x32>icons/mediumIcon.png</image32x32>
   <image48x48>icons/bigIcon.png</image48x48>
   <image128x128>icons/biggestIcon.png</image128x128> 
</icon>
I would include them with ADT command like this:
adt [STUFF] outputfile.apk descriptor-app.xml main.swf icons
Which will produce APK structure like this:
package.apk
  |---> assets (this is the application root on Android package)
  |      |---> icons
  |      |      |---> smallIcon.png
  |      |      |---> mediumIcon.png
  |      |      |---> bigIcon.png
  |      |      |---> biggestIcon.png
  |      |---> main.swf
  |---> res
         |---> drawable-hdpi
         |      |---> icon.png
         |---> drawable-ldpi
         |      |---> icon.png
         |---> drawable-mdpi
         |      |---> icon.png
         |---> drawable-xhdpi
                |---> icon.png
The icons in folder under res/drawable*are duplicates of icons under assets/icons
The documentation is asking me to do the impossible, as ADT does not allow to specify files to add to package that are outside "application root", and icons location for Android is outside of application root.
Why? I don't have to include descriptor.xml in application root: ADT knows where to place it in package. Why do I have to polute my application root with dupicate copy of "icons"?

This is only an option on iOS, because IPA structure keeps icons in the "root" of the application. Even then, I shouldn't have to manually overwrite the filenames when the ADT command already knows their correct names and location within the package.
But on Adroid, this is impossible, because the icons in the APK structure are outside of the "root" of the application. And ADT command does not let me add files outside of the application root.

Similar Messages

  • [svn] 3401: don't include frameworks/projects/air/ ApplicationUpdater directory in the package.

    Revision: 3401
    Author: [email protected]
    Date: 2008-09-29 10:54:59 -0700 (Mon, 29 Sep 2008)
    Log Message:
    don't include frameworks/projects/air/ApplicationUpdater directory in the package.
    -trying to reduce bloat the package has incurred
    Modified Paths:
    flex/sdk/trunk/build.xml

    This is only an option on iOS, because IPA structure keeps icons in the "root" of the application. Even then, I shouldn't have to manually overwrite the filenames when the ADT command already knows their correct names and location within the package.
    But on Adroid, this is impossible, because the icons in the APK structure are outside of the "root" of the application. And ADT command does not let me add files outside of the application root.

  • Error including icons in package

    I am attempting to include icons in my Air application. Unfortunately, during the package phase, I am receiving the following errors:
    /Users/gene/Development/Projects/Flex/app/My-app.xml(18): error 303: Icon Source/assets/icons/icon16.png is missing from package
    /Users/gene/Development/Projects/Flex/app/My-app.xml(19): error 303: Icon Source/assets/icons/icon32.png is missing from package
    /Users/gene/Development/Projects/Flex/app/My-app.xml(20): error 303: Icon Source/assets/icons/icon48.png is missing from package
    /Users/gene/Development/Projects/Flex/app/My-app.xml(21): error 303: Icon Source/assets/icons/icon128.png is missing from package
    I've found multiple threads dealing with this issue, but they all say to do what I am already doing. I am posting my -app.xml file and the command I am using in hopes that someone can see what I am missing. Thanks.
    -app.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <application xmlns="http://ns.adobe.com/air/application/1.5">
        <id>com.baruconsulting.Myapp</id>
        <version>1.0.8</version>
        <filename>Myapp</filename>
        <programMenuFolder>Baru</programMenuFolder>
        <initialWindow>
            <content>Myapp.swf</content>
            <visible>true</visible>
            <systemChrome>none</systemChrome>
            <transparent>false</transparent>
            <width>1000</width>
            <height>750</height>
            <x>50</x>
            <y>50</y>
        </initialWindow>
    <icon>
    <image16x16>Source/assets/icons/icon16.png</image16x16>
    <image32x32>Source/assets/icons/icon32.png</image32x32>
    <image48x48>Source/assets/icons/icon48.png</image48x48>
    <image128x128>Source/assets/icons/icon128.png</image128x128>
    </icon>
    </application>
    package command:
    adt -package -storetype pkcs12 -keystore temp.pfx Myapp.air My-app.xml Myapp.swf
    Thanks,
    Gene

    For more info,
    http://help.adobe.com/en_US/AIR/1.5/devappshtml/WS5b3ccc516d4fbf351e63e3d118666ade46-7fd6. html
    GoTo Error code : 303.

  • Read two CSV files and remove the duplicate values within them.

    Hi,
    I want to read two CSV files(which contains more than 100 rows and 100 columns) and remove the duplicate values within that two files and merge all the unique values and display it as a single file.
    Can anyone help me out.
    Thanks in advance.

    kirthi wrote:
    Can you help me....Yeah, I've just finished... Here's a skeleton of my solution.
    The first thing I think you should do is write a line-parser which splits your input data up into fields, and test it.
    Then fill out the below parse method, and test it with that debugPrint method.
    Then go to work on the print method.
    I can help a bit along the way, but if you want to do this then you have to do it yourself. I'm not going to do it for you.
    Cheers. Keith.
    package forums.kirthi;
    import java.util.*;
    import java.io.PrintStream;
    import java.io.BufferedReader;
    import java.io.FileReader;
    import java.io.IOException;
    import krc.utilz.io.ParseException;
    import krc.utilz.io.Filez.LineParser;
    import krc.utilz.io.Filez.CsvLineParser;
    public class DistinctColumnValuesFromCsvFiles
      public static void main(String[] args) {
        if (args.length==0) args = new String[] {"input1.csv", "input2.csv"};
        try {
          // data is a Map of ColumnNames to Sets-Of-Values
          Map<String,Set<String>> data = new HashMap<String,Set<String>>();
          // add the contents of each file to the data
          for ( String filename : args ) {
            data.putAll(parse(filename));
          // print the data to output.csv
          print(data);
        } catch (Exception e) {
          e.printStackTrace();
      private static Map<String,Set<String>> parse(String filename) throws IOException, ParseException {
        BufferedReader reader = null;
        try {
          reader = new BufferedReader(new FileReader(filename));
          CsvLineParser.squeeze = true; // field.trim().replaceAll("\\s+"," ")
          LineParser<String[]> parser = new CsvLineParser();
          int lineNumber = 1;
          // 1. read the column names (first line of file) into a List
          // 2. read the column values (subsequent lines of file) into a List of Set's of String's
          // 3. build a Map of columnName --> columnValues and return it
        } finally {
          if(reader!=null)reader.close();
      private static void debugPrint(Map<String,Set<String>> data) {
        for ( Map.Entry<String,Set<String>> entry : data.entrySet() ) {
          System.out.println("DEBUG: "+entry.getKey()+" "+Arrays.toString(entry.getValue().toArray(new String[0])));
      private static void print(Map<String,Set<String>> data) {
        // 1. get the column names from the table.
        // 2. create a List of List's of String's called matrix; logically [COL][ROW]
        // 3. print the column names and add the List<String> for this col to the matrix
        // 4. print the matrix by inerating columns and then rows
    }

  • When I migrated the contents of my iMac to my new MacBook Pro (both running Lion), I ended up with duplicate icons in the launchpad. How do I get rid of them?

    When I used migration Assistant to transfer stuff from my iMac to my MacBook Pro, both running the latest update of Lion, I ended up with duplicate icons in the Launchpad. How do I correct this situation. Some can be deleted using the iPad method of holding down an icon until they all jiggle and then clicking the "X" to delete. However, most do not have x's appear next to them. Otherwise, the migration seemed to go okay.

    Launchpad will display an icon for each copy of an application that is currently installed (as well as any aliases to those applications), so you will see more than one icon for an application if you have more than one version of the application installed or aliased. So did you create any aliases of these apps on your old computer? If so, delete them.

  • Why do I have duplicate icons of Safari after Lion install?

    I recently installed Lion and later found out that Safar, DVD Player, Photobooth, and Preview all have duplicate icons. One seems to be the older version while the other is the newer version with the new Full screen feature. Just to note, all those apps were in folders before I installed Lion but now I can't even take them out of the folder. I says I can't modify or delete them since OSX needs them. what do I do?

    I had the same problem.  Then I went into my applications folder and found older versions for the same app; i.e. Pages and Keynote.  Once I deleted the older versions, (this does not delete anything you created from them since they would transfer to the most recent version) I went into Launchpad and saw that the old icon's were gone.  Pretty simple procedure. 

  • How can I get rid of duplicate photos within I-Photo

    How can I get rid of duplicate photos within I-Photo

    best solution is iPhoto library manager - or Duplicate annihilator
    LN

  • Packaging Linux AIR app as a native package (.deb)?

    Ok, so I've been tasked with packaging an AIR app in a system package. We got a redistrubution license for AIR so I think we are good in that respect but I run into an unfortunate predicament when trying to do a silent install from a deb:
    Both AIR runtime and AIR applicaiton generate a native package (.deb in this case) during install. So even though I can run silent install from my own deb, it fails to install as it cannot install a deb during installation of a deb. I am assuming that even if I could somehow grab the generated deb file, it would be against the license agreement to do so.
    So, any thoughts as to how to get this accomplished? Is there an alternative distribution of an app that comes as a native ".deb" file? Or is there a command line option that disables a native package management install? ( I can seem to find no information on any command line options for the bin installer)
    Thanks.
    -M

    Ok, so I've been tasked with packaging an AIR app in a system package. We got a redistrubution license for AIR so I think we are good in that respect but I run into an unfortunate predicament when trying to do a silent install from a deb:
    Both AIR runtime and AIR applicaiton generate a native package (.deb in this case) during install. So even though I can run silent install from my own deb, it fails to install as it cannot install a deb during installation of a deb. I am assuming that even if I could somehow grab the generated deb file, it would be against the license agreement to do so.
    So, any thoughts as to how to get this accomplished? Is there an alternative distribution of an app that comes as a native ".deb" file? Or is there a command line option that disables a native package management install? ( I can seem to find no information on any command line options for the bin installer)
    Thanks.
    -M

  • Is anybody else having their Adobe AIR iOS app crash within the first second of opening it?

    Is anybody else having their Adobe AIR iOS app crash within the first second of opening it?
    I am using iPhone 6, iOS 8.1.3, with a development certificate.
    With Adobe AIR SDK 16.0.0.283 and now with 17.0.0.93, after compiling the app (whether in release mode or debug mode), before the app getTimer() can ever reach 999 milliseconds the app will crash. No matter what code I have, it is just crashing before the runtime can ever reach the first second.
    Anybody else having this kind of behavior?

    Chris,
    Thanks for your prompt reply. I have found the way to reproduce. It is about interfaces, and when I try to call a method through an interface the app crashes. I think that it is related to having an interface with many parameters. I have logged the bug here:
    Bug#3935199 - iOS App crashes when calling an objects method through interface

  • When can we publish Air 3.0 from within Flash IDE?

    Hi,
    I am very eager to get started on developing with Air 3.0.
    I'm using Flash CS5.5, but natively Air 3.0 is not available from within the IDE. I know I can publish using the command line, but this is really a bit to complicated for me.
    Can anyone tell me if and when we can expect an update for Flash CS5.5 so we can publish Air 3.0 files from within the IDE directly?
    Thanx!

    There are two ways of being able to publish to AIR 3,0 from within Flash CS5.5. You can either rename the AIR2.6 folder and put in the AIR3.9 folder, renamed to AIR2.6. That, of course, won't let you do code completion on new features, or see any interface changes. Or you can follow the long winded overlay process, and then would be able to do code completion.
    Are you saying that the long winded overlay way still doesn't give an option to publish with captive runtime? When you said that copying the SDK wouldn't give new UI options, that made me think you were saying that the more elaborate overlay would would.
    So, users are then stuck with FB4.6 public beta, command line, or waiting for "Flash Next" before being able to publish captive runtime Android apps.

  • How do I delete duplicate icons from the dock of an Imac 8.1?

    How do I delete duplicate icons from the dock of an Imac 8.1?

    No dragging to trash doesn't work. Just keep dragging them off. If they are stacked, which shouldn't happen, then when you delete one the other is still there.
    Just how did you get duplicates? Did you put them there? If not then you have other problems and I'm not sure how to correct it.

  • How do I remove duplicate icons in Launchpad

    I just updated to Lion and now have duplicate icons in Launchpad like Chess, Safari, Google earth, etc. How can I remove these duplicates?

    Hey guys found a solution to this problem, download this PDF i have mad up for you guys. It just explians how to remove a duplicate file in the Launch Pad application.
    http://www.mediafire.com/?p88d1a112xkw03r

  • Duplicate icons on launchpad screen

    I have some duplicate icons on Launcher screen.   I can get them to 'wiggle' OK, but no 'x' appears alongside.   How do i delete them?

    you may try this
    1. go application folder delete the original application
    2. go launcher pad delete the icon
    3. install the application again.

  • How to get a called procedure/function name within package?

    Hi folks,
    is it possible to obtain a called procedure/function name within package?
    For a measuring and tracing purpose, I would like to store an info at the beginning of each procedure/function in package with timestamp + additional details if needed.
    For example:
    CREATE OR REPLACE PACKAGE BODY "TEST_PACKAGE" IS
       PROCEDURE proc_1 IS
       BEGIN
          api_log.trace_data(sysdate, 'START.' || ???????);
          api_log.trace_data(sysdate, 'END.' || ???????);
       END;
       PROCEDURE proc_2 IS
       BEGIN
          api_log.trace_data(sysdate, 'START.' || ???????);
          proc_1;
          api_log.trace_data(sysdate, 'END.' || ???????);
       END;
    END; I would like to replace "???????" with a function which would return a name of called procedure, so result of trace data after calling TEST_PACKAGE.proc_2 would be:
       11.1.2013 09:00:01    START.*TEST_PACKAGE.proc_2*
       11.1.2013 09:00:01    START.*TEST_PACKAGE.proc_1*
       11.1.2013 09:00:01    END.*TEST_PACKAGE.proc_1*
       11.1.2013 09:00:01    END.*TEST_PACKAGE.proc_2*I tried to use "dbms_utility.format_call_stack" but it did not return the name of procedure/function.
    Many thanks,
    Tomas
    PS: I don't want to use an hardcoding

    You've posted enough to know that you need to provide your 4 digit Oracle version (result of SELECT * FROM V$VERSION).
    >
    is it possible to obtain a called procedure/function name within package?
    For a measuring and tracing purpose, I would like to store an info at the beginning of each procedure/function in package with timestamp + additional details if needed.
    >
    I usually use this method
    1. Create a SQL type for logging information
    2. Put the package name into a constant in the package spec
    3. Add a line to each procedure/function for the name.
    Sample package spec
          * Constants and package variables
              gc_pk_name               CONSTANT VARCHAR2(30) := 'PK_TEST';Sample procedure code in package
          PROCEDURE P_TEST_INIT
          IS
            c_proc_name CONSTANT VARCHAR2(80)  := 'P_TEST_INIT';
            v_log_info  TYPE_LOG_INFO := TYPE_LOG_INFO(gc_pk_name, c_proc_name); -- create the log type instance
          BEGIN
              NULL; -- code goes here
          EXCEPTION
          WHEN ??? THEN
              v_log_info.log_code := SQLCODE;  -- add info to the log type
              v_log_info.log_message := SQLERRM;
              v_log_info.log_time    := SYSDATE;
              pk_log.p_log_error(v_log_info);
                                    raise;
          END P_PK_TEST_INIT;Sample SQL type
    DROP TYPE TYPE_LOG_INFO;
    CREATE OR REPLACE TYPE TYPE_LOG_INFO AUTHID DEFINER AS OBJECT (
    *  NAME:      TYPE_LOG_INFO
    *  PURPOSE:   Holds info used by PK_LOG package to log errors.
    *             Using a TYPE instance keeps the procedures and functions
    *             independent of the logging mechanism.
    *             If new logging features are needed a SUB TYPE can be derived
    *             from this base type to add the new functionality without
    *             breaking any existing code.
    *  REVISIONS:
    *  Ver        Date        Author           Description
    *   1.00      mm/dd/yyyy  me               Initial Version.
        PACKAGE_NAME  VARCHAR2(80),
        PROC_NAME     VARCHAR2(80),
        STEP_NUMBER   NUMBER,
        LOG_LEVEL   VARCHAR2(10),
        LOG_CODE    NUMBER,
        LOG_MESSAGE VARCHAR2(1024),
        LOG_TIME    TIMESTAMP,
        CONSTRUCTOR FUNCTION type_log_info (p_package_name IN VARCHAR2 DEFAULT 'Uninitialized',
                                            p_proc_name IN VARCHAR2 DEFAULT 'Uninitialized',
                                            p_step_number IN NUMBER DEFAULT 1,
                                            p_LOG_level IN VARCHAR2 DEFAULT 'Uninit',
                                            p_LOG_code IN NUMBER DEFAULT -1,
                                            p_LOG_message IN VARCHAR2 DEFAULT 'Uninitialized',
                                            p_LOG_time IN DATE DEFAULT SYSDATE)
                    RETURN SELF AS RESULT
      ) NOT FINAL;
    DROP TYPE BODY TYPE_LOG_INFO;
    CREATE OR REPLACE TYPE BODY TYPE_LOG_INFO IS
        CONSTRUCTOR FUNCTION type_log_info (p_package_name IN VARCHAR2 DEFAULT 'Uninitialized',
                                            p_proc_name IN VARCHAR2 DEFAULT 'Uninitialized',
                                            p_step_number IN NUMBER DEFAULT 1,
                                            p_LOG_level IN VARCHAR2 DEFAULT 'Uninit',
                                            p_LOG_code IN NUMBER DEFAULT -1,
                                            p_LOG_message IN VARCHAR2 DEFAULT 'Uninitialized',
                                            p_LOG_time IN DATE DEFAULT SYSDATE)
         RETURN SELF AS RESULT IS
        BEGIN
          self.package_name  := p_package_name;
          self.proc_name     := p_proc_name;
          self.step_number   := p_step_number;
          self.LOG_level   := p_LOG_level;
          self.LOG_code    := p_LOG_code;
          self.LOG_message := p_LOG_message;
          self.LOG_time    := p_LOG_time;
          RETURN;
        END;
    END;
    SHO ERREdited by: rp0428 on Jan 11, 2013 10:35 AM after 1st cup of coffee ;)

  • In the photo bin, what is the brush icon within the thumbnail for?

    In the photo bin, what is the brush icon within the thumbnail for?

    It means you have made edits but not saved them. At least, that is what it's supposed to signify.

Maybe you are looking for

  • How do I use my I'd for the app store and not my wife.

    IT always ask for my wife password and I need it to ask for my password. So I need to change it so it will show my ID and not hers.

  • My phone number no longer shows up when I call a l...

    Hi,  I paid to have my cell phone number show up when I call a landline. This worked great for a good while (maybe 2 years). It is no longer working.  Do I need to renew this feature ? If so, how do I do this. TIA Pat PS hope this is the correct foru

  • Button inside an external MC to unload itself

    Hi everyone, The title is pretty self explanatory. I know this subject I've been previously covered but it still unclear with the code I'm using. Please help. This is the code I put on the main movie clip to load it: var request:URLRequest = new URLR

  • Group Calling: APP vs Desktop API

    When I start a group call in the desktop API, if one party does not answer and it starts going to voicemail, I can hang up on just that one party while still talking to other participants. In the skype app for windows 8, that option does not appear a

  • Error pop up whenever i open FCPX

    I keep receiving (20 times every time i open FCPX) the error "There was a problem connecting to the server "xxxxxxxxx". Contact your system administrator for more information. Any ideas on how to make it stop?