Showing posts with label Air for Android. Show all posts
Showing posts with label Air for Android. Show all posts

Sunday, April 22, 2012

AS3 言語の動的表示切替

ActionScript3のヘルプを読むと一見動的に表示言語を切り替えるには、loadLanguageXMLで呼び出した後に自分でTextFieldにひとつひとつ翻訳言語を割り当てるしかないように思えますが、loadLanguageXMLのコールバックメソッドが呼ばれ続けるバグがあるため、これはできません。

以下の方法が今のところのベストと考えられます。

・「実行時にActionScriptを使用して」を設定してビルド。

言語を切り替えるところで以下のロジックを埋め込み。(パラメータ設定の順番は重要)

Locale.autoReplace = true;
Locale.setDefaultLang("{言語コード}");
Locale.loadLanguageXML("{言語コード}");
これで今のところよさそうにみえる。

Flash CS5.5 Bug loadLanguageXML

Flash CS5.5の多言語化系は特に数多くのバグをかかえているため、よく検証しないと危険です。
中でのLocal.loadLanguageXMLは一度呼び出すと、呼び出しを繰り返し止らなくなるため非常に危険です。
traceなどを仕込まないと気づけませんが、1秒に10回ぐらい呼び続けています。もし言語ファイルがネットワーク上にあるとウィルスソフトと判別されてもおかしくないアプリができてしまいます。
対応方法は今のところ使わないことぐらいです。

Monday, April 9, 2012

Air アップグレード時のSharedObjectのデータ永続性

SharedObjectのデータ永続性

Air

  • バージョンアップ時OK
  • IOSアップグレード時 バックアップリストア (未検証)
Android
  • バージョンアップ時(未検証)
  • IOSアップグレード時 バックアップリストア (未検証)

Thursday, March 29, 2012

Icon AppIconsForPublish/I512_512.png is missing from package

Remove description of image from app.xml
app.xml include both settings Android and iOS.

Flash CS5.5 is very bad tool about this specific to create multi platform.

Adobe air support devices

Adobe publish list

http://www.adobe.com/flashplatform/certified_devices/

but we can install AIR to some devices that are not shown in this list.

  • Lenovo Ideapad A07(Confirmed I have it)
  • Sumsung Galaxy S(Maybe)

Plotcol flashsocket.io use to connect for Air

Air for iOS don't need FlashPolicyServer look like executing standalone swf file.
But Air fo Android need Flash policy file. I connect to 843port to find policy file.

I don't understand socket.io config (Flash Policy Server). Default port is 10843. But socketio client access to 843.

Tuesday, March 27, 2012

Upgarade Android SDK version of Air SDK

To use some native extension, need to upgrade Android SKD or Air SDK.
Air SDK include Android SDK, so upgrade it to latest version.
Refer:http://lancelotmobile.com/blog/air-compile-for-android-4/


  • 1. Copy android\android-sdk-windows\platforms\android-15\android.jar
  • 2. Rename \Air\AdobeAIRSDK31\lib\android\lib\resources\android-res.jar
  • 3. Paste 1.android.jar to 2.folder
  • 4.Rename android.jar to android-res.jar

ADOBE® AIR® 用ネイティブ拡張の開発ガイド

こんなところにあったのか
http://help.adobe.com/ja_JP/air/extensions/air_extensions.pdf

How to put Admob to Air app(Android)


Requirement

  • Air SDK more 3.0
  • Android SDK latest(I check ver15 is ok)
  • Admob publish id

How to create apk file for admob
  • Download "NativeExtensions for AIR" from here. File name is admob_v1.ane.
  • cp "admob_v1.ane" and rename it to "admob_v1.swc".
    • Flash use swc file, but adk use ane file. so need both.
  • Create Air for Android file by Flash CS5.5.
  • Add  admob_v1.swc  to libarary path.
  • Change ringage option from integrated code to external.
  • Once publish to create <app-name>-app.xml
  • Edit  <app-name>-app.xml. Add following yellow line.
    <android> <manifestAdditions> <![CDATA[<manifest> <application> <activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/> </application> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> </manifest>]]> </manifestAdditions> </android> <extensions> <extensionID>com.hdi.nativeExtensions.NativeAds</extensionID> </extensions>
  • Publish to create apk file.
    • Error occur.But it's ok. ignore it.
  • Can't create apk fie by Flash CS5.5
  • use adt Air3 adt tool.
    • following samplecommand
..\Air\AdobeAIRSDK31\bin\adt -package -target apk-captive-runtime -storetype pkcs12 -keystore ".p12 file name" -storepass "p12 password" "created apke file name".apk "app name".xml "app name".swf -extdir .
-extdir : ane file path


Doc
http://lancelotmobile.com/asdocs/native-ads-asdoc/com/hdi/nativeExtensions/NativeAds.html#initAd%28%29


Thursday, March 22, 2012

Air 2.6 Availabe Mobile Device

Update 2012/03/21

iOS

  • More than iOS 4.0
  • iPad, iPad2
  • iPhone 3GS, iPhone4, iPhone4S
  • iPod touch 3-4generation

Android

  • More than Android 2.2
  • ARMv70A processor
  • OpenGL ES2
  • 256Mbyte memory

If your device don't have requirement.
You can't find your application made by Air2.6.

Monday, March 12, 2012

Flash CS5.5 How to change from Air 2.6 to 3.1

There are many information described about how to change from Air 2.6 to Air 3.1.
Overlaying AIR SDK for Flash Professional CS5.5

Need researching how to add apk-captive-runtime option to Flash CS 5.5  for publishing Android.


Sunday, March 11, 2012

Flash CS5.5 How to create captive apk file with Air 3.1

I release Air for Android application "eniboard for Tablet".
This app was published by Air 3.1 and include Air runtime.
So user don't need install Air runtime look like Air for iOS application.
I described how to publish it.

(1)At first, download Air 3.1 SDK, and expand it.
(2)Publish apk file with Flash CS5.5. (This apk file is published by Air2.6)
(3)Execute following command

adt -package -target apk-captive-runtime -storetype pkcs12 -keystore [package *1].p12 [package *2].apk [package *3]-app.xml -extdir ../runtimes/air/android [package].swf ....[attached files for example icon image files and translation files *4]

  • adk exist at Air3.1 bin folder.
  • *1: p12 file was published by Flash CS5.5.
  • *2: apk file was published by Flash CS5.5(Air 2.6).
  • *3: change from "application/2.6" to "application/3.1"
  • *4:attach all files icon images and translation files.
    • For example "en/board_en.xml"

Release Android App "eniboard for Tablet"

We release Android application "eniboard for Tablet" version 1.0.
https://play.google.com/store/apps/details?id=air.org.eniblo.eniboard4tablet

eniboard is drawing tool which have 4 billion pixel width and height.
Please enjoy for drawing and seeing picture look like Map tool.
I think we can draw biggest image in the world with drawing tool.
Moving operation looks like Map application (Google map ..etc)



How to install and uninstall package file

I use Lenovo Ideapad A1 for developing Air for Android applications.
But unfortunately I can not send package file published by Flash CS5.5 to the device or emulator.
So I use adb command usually.

Install package
adb install [apk file name]

Uninstall package
adb uninstall [package name]
(Don't forget name attached "air". For example air.org.eniblo.***)

How to know package name
adb shell pm list packages

How to know device list
adb devices

If you install or uninstall to a device in multiple devices or emulator.
Add -s [Device name] option 

Saturday, March 10, 2012

Flash CS5.5 How to install Air Runtime for test

For test, we musta install Air Runtime to device (Real device or emulator).
But it take many time to install it to emulator. Because emulator don't have google id.
Flash CS5.5 have Air runtime in the folder of installation.

For device
  Adobe Flash CS5.5\AIR2.6\runtimes\air\android\device\Runtime.apk

For emulator
  Adobe Flash CS5.5\AIR2.6\runtimes\air\android\emulator\Runtime.apk

How to install runtime.
(1)Start emulator by using Android Virtual Device Manager or doing etc.
(2)adb install Runtime.apk
      (need connecting PATH to Android bin folder)


Monday, March 5, 2012

Japan's unique Android markets

In Japan, there are many unique Android markets. Because there are many companies that create Android devise. So they create Android unique markets.
I described them at following list. Unfortunately almost pages are described in Japanese.
( I will update following list if I will find new one.)

Flets Market
Company: NTT
Url : http://flets.com/fletsmarket/
How to register : Need requesting to 'NTT'
Fee:
  One times
    Initial contract : 840JPN
  Every application
    Initial working : 1,050JPN
    Registering application = 3,150 JPN
  Every months
    1,050JPN- (up to size of application)
  If you register not free application, you must pay additional fee.
User count : None
Other : None