¿Cómo resolver el problema si la aplicación contiene un valor no válido en el desarrollo móvil de Adobe Flex?

StackOverflow https://stackoverflow.com/questions/8366312

  •  27-10-2019
  •  | 
  •  

Pregunta

Soy un nuevo desarrollador para trabajar en Adobe Flex Mobile Development. He intento SQLite en una aplicación de muestra en el directorio de empleados. He implementado código para ello, luego he almorzado la aplicación en Android Simulator a través de Eclipse, luego ha funcionado bien, pero cuando yo Almuerzo La misma aplicación en el dispositivo Android Real, luego muestra un error de la siguiente manera:

       Error occurred while packaging the application:

C:\Documents and Settings\prasad\Adobe Flash Builder 4.5\EmployeeDirectory\bin-     debug\EmployeeDirectory-app.xml(219): error 105: application contains an invalid value
C:\Documents and Settings\prasad\Adobe Flash Builder 4.5\EmployeeDirectory\bin-debug\EmployeeDirectory-app.xml(219): error 105: application contains an invalid value
C:\Documents and Settings\prasad\Adobe Flash Builder 4.5\EmployeeDirectory\bin-debug\EmployeeDirectory-app.xml(246): error 105: application contains an invalid value

Entonces, ¿cómo puedo resolver el problema anterior en el dispositivo Android Real a través del desarrollo móvil Adobe Flex?

El siguiente código de Employeedirectory-app.xml

<!-- A universally unique application identifier. Must be unique across all AIR applications.
Using a reverse DNS-style name as the id is recommended. (Eg. com.example.ExampleApplication.) Required. -->
<id>EmployeeDirectory</id>

<!-- Used as the filename for the application. Required. -->
<filename>EmployeeDirectory</filename>

<!-- The name that is displayed in the AIR application installer. 
May have multiple values for each language. See samples or xsd schema file. Optional. -->
<name>EmployeeDirectory</name>

<!-- A string value of the format <0-999>.<0-999>.<0-999> that represents application version which can be used to check for application upgrade. 
Values can also be 1-part or 2-part. It is not necessary to have a 3-part value.
An updated version of application must have a versionNumber value higher than the previous version. Required for namespace >= 2.5 . -->
<versionNumber>0.0.0</versionNumber>

<!-- A string value (such as "v1", "2.5", or "Alpha 1") that represents the version of the application, as it should be shown to users. Optional. -->
<!-- <versionLabel></versionLabel> -->

<!-- Description, displayed in the AIR application installer.
May have multiple values for each language. See samples or xsd schema file. Optional. -->
<!-- <description></description> -->

<!-- Copyright information. Optional -->
<!-- <copyright></copyright> -->

<!-- Publisher ID. Used if you're updating an application created prior to 1.5.3 -->
<!-- <publisherID></publisherID> -->

<!-- Settings for the application's initial window. Required. -->
<initialWindow>
    <!-- The main SWF or HTML file of the application. Required. -->
    <!-- Note: In Flash Builder, the SWF reference is set automatically. -->
    <content>[This value will be overwritten by Flash Builder in the output app.xml]</content>

    <!-- The title of the main window. Optional. -->
    <!-- <title></title> -->

    <!-- The type of system chrome to use (either "standard" or "none"). Optional. Default standard. -->
    <!-- <systemChrome></systemChrome> -->

    <!-- Whether the window is transparent. Only applicable when systemChrome is none. Optional. Default false. -->
    <!-- <transparent></transparent> -->

    <!-- Whether the window is initially visible. Optional. Default false. -->
    <!-- <visible></visible> -->

    <!-- Whether the user can minimize the window. Optional. Default true. -->
    <!-- <minimizable></minimizable> -->

    <!-- Whether the user can maximize the window. Optional. Default true. -->
    <!-- <maximizable></maximizable> -->

    <!-- Whether the user can resize the window. Optional. Default true. -->
    <!-- <resizable></resizable> -->

    <!-- The window's initial width in pixels. Optional. -->
    <!-- <width></width> -->

    <!-- The window's initial height in pixels. Optional. -->
    <!-- <height></height> -->

    <!-- The window's initial x position. Optional. -->
    <!-- <x></x> -->

    <!-- The window's initial y position. Optional. -->
    <!-- <y></y> -->

    <!-- The window's minimum size, specified as a width/height pair in pixels, such as "400 200". Optional. -->
    <!-- <minSize></minSize> -->

    <!-- The window's initial maximum size, specified as a width/height pair in pixels, such as "1600 1200". Optional. -->
    <!-- <maxSize></maxSize> -->

    <!-- The initial aspect ratio of the app when launched (either "portrait" or "landscape"). Optional. Mobile only. Default is the natural orientation of the device -->

    <!-- <aspectRatio></aspectRatio> -->

    <!-- Whether the app will begin auto-orienting on launch. Optional. Mobile only. Default false -->

    <!-- <autoOrients></autoOrients> -->

    <!-- Whether the app launches in full screen. Optional. Mobile only. Default false -->

    <!-- <fullScreen></fullScreen> -->

    <!-- The render mode for the app (either auto, cpu, or gpu). Optional. Mobile only. Default auto -->

    <!-- <renderMode></renderMode> -->

    <!-- Whether or not to pan when a soft keyboard is raised or lowered (either "pan" or "none").  Optional.  Defaults "pan." -->
    <!-- <softKeyboardBehavior></softKeyboardBehavior> -->
<autoOrients>true</autoOrients>
    <fullScreen>false</fullScreen>
    <visible>true</visible>
    <softKeyboardBehavior>none</softKeyboardBehavior>
</initialWindow>

<!-- We recommend omitting the supportedProfiles element, -->
<!-- which in turn permits your application to be deployed to all -->
<!-- devices supported by AIR. If you wish to restrict deployment -->
<!-- (i.e., to only mobile devices) then add this element and list -->
<!-- only the profiles which your application does support. -->
<!-- <supportedProfiles>desktop extendedDesktop mobileDevice extendedMobileDevice</supportedProfiles> -->

<!-- The subpath of the standard default installation location to use. Optional. -->
<!-- <installFolder></installFolder> -->

<!-- The subpath of the Programs menu to use. (Ignored on operating systems without a Programs menu.) Optional. -->
<!-- <programMenuFolder></programMenuFolder> -->

<!-- The icon the system uses for the application. For at least one resolution,
specify the path to a PNG file included in the AIR package. Optional. -->
<!-- <icon>
    <image16x16></image16x16>
    <image32x32></image32x32>
    <image36x36></image36x36>
    <image48x48></image48x48>
    <image72x72></image72x72>
    <image114x114></image114x114>
    <image128x128></image128x128>
</icon> -->

<!-- Whether the application handles the update when a user double-clicks an update version
of the AIR file (true), or the default AIR application installer handles the update (false).
Optional. Default false. -->
<!-- <customUpdateUI></customUpdateUI> -->

<!-- Whether the application can be launched when the user clicks a link in a web browser.
Optional. Default false. -->
<!-- <allowBrowserInvocation></allowBrowserInvocation> -->

<!-- Listing of file types for which the application can register. Optional. -->
<!-- <fileTypes> -->

    <!-- Defines one file type. Optional. -->
    <!-- <fileType> -->

        <!-- The name that the system displays for the registered file type. Required. -->
        <!-- <name></name> -->

        <!-- The extension to register. Required. -->
        <!-- <extension></extension> -->

        <!-- The description of the file type. Optional. -->
        <!-- <description></description> -->

        <!-- The MIME content type. -->
        <!-- <contentType></contentType> -->

        <!-- The icon to display for the file type. Optional. -->
        <!-- <icon>
            <image16x16></image16x16>
            <image32x32></image32x32>
            <image48x48></image48x48>
            <image128x128></image128x128>
        </icon> -->

    <!-- </fileType> -->
<!-- </fileTypes> -->

<!-- iOS specific capabilities -->
<!-- <iPhone> -->
    <!-- A list of plist key/value pairs to be added to the application Info.plist -->
    <!-- <InfoAdditions>
        <![CDATA[
            <key>UIDeviceFamily</key>
            <array>
                <string>1</string>
                <string>2</string>
            </array>
            <key>UIStatusBarStyle</key>
            <string>UIStatusBarStyleBlackOpaque</string>
            <key>UIRequiresPersistentWiFi</key>
            <string>YES</string>
        ]]>
    </InfoAdditions> -->
    <!-- <requestedDisplayResolution></requestedDisplayResolution> -->
<!-- </iPhone> -->

<!-- Specify Android specific tags that get passed to AndroidManifest.xml file. -->
<android> 
    <manifestAdditions>
    <![CDATA[
        <manifest android:installLocation="auto">
            <uses-permission android:name="android.permission.INTERNET"/>
            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
            <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
            <uses-configuration android:reqFiveWayNav="true"/>
            <supports-screens android:normalScreens="true"/>
            <uses-feature android:required="true" android:name="android.hardware.touchscreen.multitouch"/>
            <application android:enabled="true">
                <activity android:excludeFromRecents="false">
                    <intent-filter>
                        <action android:name="android.intent.action.MAIN"/>
                        <category android:name="android.intent.category.LAUNCHER"/>
                    </intent-filter>
                </activity>
            </application>
        </manifest>
    ]]>
    </manifestAdditions> 
</android> 
--><!-- End of the schema for adding the android specific tags in AndroidManifest.xml file -->

Consulte la documentación de Adobe Air para obtener más información sobre la configuración de Google AndroidPermissions Eliminar el permiso android.permission.Internet tendrá el efecto secundario de evitar que depuración de su aplicación en su dispositivo, los permisos DISTABLE_KEYGUARD y WAKELLECH deben estar alternados para acceder a las API de SystemIdLemode Air Air Air Air Los permisos access_network_state y access_wifi_state deben estar juntos para usar las API NetworkInfo de Air Air

    ]]></manifestAdditions>
</android>
--><iPhone>
    <InfoAdditions><![CDATA[
        <key>UIDeviceFamily</key>
        <array>
            <string>1</string>
            <string>2</string>
        </array>
    ]]></InfoAdditions>
    <requestedDisplayResolution>high</requestedDisplayResolution>
</iPhone>

¿Fue útil?

Solución

Siempre puede mirar sus archivos XML en Firefox o usar FlashDevelovel Para abrir el XML. Ambos son recursos gratuitos que le permiten ver si hay algún error. Me gusta Firefox porque muestra solo un error a la vez, y está muy claro sobre el número de línea. Flashdevelop tiene una herramienta que reforma su XML en un diseño bien estructurado (elemento de menú Refactor | Formatero de código).


Sin embargo, para ayudar a solucionar su problema específico, consulte los mensajes de error:

[...]EmployeeDirectory-app.xml(219): error 105: application contains an invalid value
[...]EmployeeDirectory-app.xml(246): error 105: application contains an invalid value

Estas declaraciones muestran que tiene errores en las líneas 219 y 246. Mirando el archivo XML, puede ver que tiene un marcado de "comentario cerrado" (-->) en cada una de esas líneas.

Tomemos la línea 219 primero. Leyendo hacia arriba en el archivo para encontrar el marcado de "Comentario de inicio", no parece haber uno. Entonces, elimine este marcado o agregue un marcado "Iniciar comentarios".

Ahora línea 246. Al principio, esto también puede parecer un marcado adicional de "comentarios cercanos", pero no lo es. Backtrack to It "Start Comment" Markup en la línea 222. Puede ver que el "Comentario de inicio" no tiene espacio entre él y el marcado que está tratando de comentar. Agregar un espacio soluciona este problema.

En general, me gusta hacer mi marcado de comentarios de prueba muy explícito. Para que sean más fáciles de encontrar, generalmente doy un espacio de línea arriba y debajo de la abertura de un marcado de cierre. P.ej:

<android1>
[...]
</android1>

<!-- 

<android2>
[...]
</android2>

-->

<android3>
[...]
</android3>

Tenga en cuenta que no sé si tiene algún error en el XML contenido aunque.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top