Autor Wątek: [Android + AIR] Nic nie widać  (Przeczytany 4075 razy)

Offline MaxGarden

  • Użytkownik
    • Profil na warsztacie

# Lipiec 13, 2012, 17:18:09
U mnie tylko żółte tło bez żadnych informacji.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline lukasyno

  • Użytkownik

# Lipiec 13, 2012, 20:04:01
U mnie stage3d naturalnie dziala (sam wiele razy testowalem) w tym przykladzie nie ma nic poza zoltym tlem...

Offline dynax

  • Użytkownik

# Lipiec 13, 2012, 20:46:55
Testowałeś? A mógłbyś podać konfigurację w której kompilowałeś swoje przykłady, wersje AIR i fragment deskryptora aplikacji (XML) ?

Offline lukasyno

  • Użytkownik

# Lipiec 14, 2012, 18:28:36
w AIR 3.2 kompilowalem, i oczywiscie w Flex SDK 4.6, ustawiłem swf-version=na 15 i tyle..
desc xml jest taki

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/3.2">
  <!-- Adobe AIR Application Descriptor File Template.

   Specifies parameters for identifying, installing, and launching AIR applications.

   xmlns - The Adobe AIR namespace: http://ns.adobe.com/air/application/3.2
         The last segment of the namespace specifies the version
         of the AIR runtime required for this application to run.
         
   minimumPatchLevel - The minimum patch level of the AIR runtime required to run
         the application. Optional.
-->
  <!-- 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>app.instancingTriangles</id>
  <!-- Used as the filename for the application. Required. -->
  <filename>InstancingTrianglesAndroid</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>InstancingTriangles</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>1.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>InstancingTriangles-Android.swf</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, gpu, or direct). Optional. Default auto -->
    <!-- <renderMode></renderMode> -->
    <!-- Whether the default direct mode rendering context allocates storage for depth and stencil buffers.  Optional.  Default false. -->
    <!-- <depthAndStencil></depthAndStencil> -->
    <!-- Whether or not to pan when a soft keyboard is raised or lowered (either "pan" or "none").  Optional.  Defaults "pan." -->
    <!-- <softKeyboardBehavior></softKeyboardBehavior> -->
    <aspectRatio>portrait</aspectRatio>
    <fullScreen>false</fullScreen>
    <autoOrients>true</autoOrients>
    <renderMode>direct</renderMode>
  </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> -->
  <!-- Languages supported by application -->
  <!-- Only these languages can be specified -->
  <!-- <supportedLanguages>en de cs es fr it ja ko nl pl pt ru sv tr zh</supportedLanguages> -->
  <!-- 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>
      <image57x57></image57x57>
      <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> -->
  <!-- A list of plist key/value pairs to be added to the application Entitlements.plist -->
  <!-- <Entitlements>
            <![CDATA[
                <key>keychain-access-groups</key>
                <array>
                    <string></string>
                    <string></string>
                </array>
            ]]>
        </Entitlements> -->
  <!-- Display Resolution for the app (either "standard" or "high"). Optional. Default "standard" -->
  <!-- <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-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> -->
  <!-- Color depth for the app (either "32bit" or "16bit"). Optional. Default 16bit before namespace 3.0, 32bit after -->
  <!-- <colorDepth></colorDepth> -->
  <!-- </android> -->
  <!-- End of the schema for adding the android specific tags in 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>
</application>



Offline dynax

  • Użytkownik

# Lipiec 14, 2012, 20:15:02
Zbudowałem aplikację o dokładnie takiej konfiguracji. Jedyną różnicą jest to, że ja mam zainstalowany AIR framework w wersji 3.3. W sumie nawet nie wiem jak zrobić downgrade do 3.2 bo na stronie Adobe nie ma już tej wersji do pobrania.

Tutaj jest zbudowana aplikacja - http://www.sendspace.pl/file/da2c821bc396b15ffdf0273
Jeśli Stage3D zostanie uruchomiony poprawnie a mimo wszystko będzie widoczne tylko żółte tło to powinna się pojawić informacja na środku ekranu i błędu trzeba będzie szukać nie w złym utworzeniu Stage3D (być może na emulatorze AVD nie można tego zrobić) tylko w tym, że tło przysłania scenę albo viewport jest zły.

Offline MaxGarden

  • Użytkownik
    • Profil na warsztacie

  • +1
# Lipiec 14, 2012, 20:39:00
Szare tło, niebieski grained w czarnej ramce, napis "Scena utworzona poprawieni (nie widac tylko obrazu)" i żółty napis "HelloWorld".

Offline dynax

  • Użytkownik

# Lipiec 14, 2012, 21:10:44
Wyrażę się dość wulgarnie acz dosadnie - zajebiście! Ta konfiguracja najwidoczniej jest prawidłowa i zadziała spokojnie na normalnych urządzeniach. O napis się nie martw bo tworzy się automatycznie jak aplikacja odbierze event o poprawnym utworzeniu kontekstu.

Wnioski:
1. Emulator Androida nie daje sobie rady z udźwignięciem aplikacji w Adobe AIR i Stage3D.
2. Konfiguracja podana przez lukasyno jest jak najbardziej poprawna.
3. Aplikacje AIR na Androida budujemy z użyciem frameworka w wersji 3.2 (3.3 nie działa).

Ogromne dzięki dla testerów :)

EDIT: Jeszcze jedno - cała scena (szare tło) zaczynała się w lewym górnym rogu ekranu czy może była przesunięta gdzieś na środek?
« Ostatnia zmiana: Lipiec 14, 2012, 21:13:08 wysłana przez dynax »

Offline MaxGarden

  • Użytkownik
    • Profil na warsztacie

# Lipiec 14, 2012, 21:19:41
W lewym górnym rogu, jakby co to masz ss-a.

Offline dynax

  • Użytkownik

# Lipiec 14, 2012, 21:24:35
Ok, wielkie dzięki. Bez Twojej pomocy dalej szukałbym błędu w czymś w czym błędu nie ma :)

Offline goshki

  • Użytkownik
    • Vigeo Games

# Lipiec 15, 2012, 19:29:57
Ok, wielkie dzięki. Bez Twojej pomocy dalej szukałbym błędu w czymś w czym błędu nie ma :)

Czyli błędem jest AIR 3.3? :>

Offline dynax

  • Użytkownik

# Lipiec 15, 2012, 19:55:30
Prawdopodobnie. Zmieniłem tylko target framework na 3.2 i przestrzeń deskryptora na http://ns.adobe.com/air/application/3.2 i nagle zaczęło działać.