Adobe Gaming SDK 1.1 的 Social.ane 有臭蟲, 根本不能用, 官方論壇也有人問到這個問題, Adobe 終於有人跳出來給了個正常的 ANE.
論壇討論: SocialUI.isSupported always returns false
可正常執行的 Social.ane
SocialUI 提供三種社群的貼文工具: Facebook, Twitter, Weibo。為什麼是這三種? 主要應該是和 iOS 有合作的就這三種,你可以在 iOS 的設定看到她們是一組的。
SocialUI 的功能並不是直接貼文,而是透過 OS 去叫喚社群的 App 來貼文。所以用戶必須安裝那三種社群 Apps,沒裝的話會提醒安裝。Facebook 的貼文也不用建立 FB App 就可以運作,當然這種貼文訊息也就沒有標註 FB App(及其連結)。
2013-07-12
免費的 AdMob ANE for iOS
Update 2013-07-17: 這個 ANE 是 Non-PIE Binary... 殘念...
在 Native Extensions for AIR 找到 AdMob ANE for iOS
作者的 blog 介紹 Adobe Native Extension - AdMob
說明文件
Blog 內容裡的用法是舊的,使用方式請看它的說明文件。
Android/iOS 通用版 ANE 在 http://www.enriquedavid.es/admob-native-extension-para-ios-y-android.html
在 Native Extensions for AIR 找到 AdMob ANE for iOS
作者的 blog 介紹 Adobe Native Extension - AdMob
說明文件
Blog 內容裡的用法是舊的,使用方式請看它的說明文件。
Android/iOS 通用版 ANE 在 http://www.enriquedavid.es/admob-native-extension-para-ios-y-android.html
2012-07-19
Publishing APK for Android with ANE included by using Flash CS6
Select Menu: "File > Publish Settings > ActionScript Settings"
Select Tab: "Library path"
Click icon button: "Add New Path"
Click icon button: "Browse to a Native Extension (ANE) file"
After browsing and selecting an ANE file, the file will be added in included files ( Checking "General" tab in "AIR for Android Settings" ).
Publishing APK by using "AIR for Android Settings" panel, the ANE will be added in the APK file.
Select Tab: "Library path"
Click icon button: "Add New Path"
Click icon button: "Browse to a Native Extension (ANE) file"
After browsing and selecting an ANE file, the file will be added in included files ( Checking "General" tab in "AIR for Android Settings" ).
Publishing APK by using "AIR for Android Settings" panel, the ANE will be added in the APK file.
2012-07-18
AIR native extension for android (Java)
官方的教學文件裡有一篇 Developing native extensions for Adobe AIR, 裡面的教學算很詳盡, 但有些細節不太正確, 以下是個人初次試做的心得。
官方建議在 Flash Builder 4.6 上安裝 Android Developer Tools 並直接在上面開 3 個 projects: Android Application Project, Flex Library Project 和 Flex Mobile Project。
在 Flash Builder 開 Android Application Project 遇到的狀況:
1. 以系統管理員身分執行 Flash Builder 才能安裝 plug-in。
2. 只能安裝 Android Developer Tools, 無法安裝 Android NDK plugins (問題不明)。
3. 撰寫時要切換到 Java perspective (個人在 Flash Builder 上開 Android Application Project 有莫名的排斥 XD )。
個人是在 Eclipse 上做 Android Application Project 開發:
1. 建立專案時選 Android Application Project。
2. 取消勾選 "Create custom launcher icon", 勾選 "Make this project as a library"。
3. 選 BlankActivity ( Create Activity 應該可以取消)。
4. 將 FlashRuntimeExtensions.jar 加到 libraries 裡 ( 此 jar 位於 AIR SDK 的目錄裡, 如 C:\air_sdk_33\lib\android ) 。
5. 依劇規則撰寫類別檔之後, 我們要的 jar 檔會在 /bin 目錄裡自動生成。
Flex Library Project:
1. 在 Flash Builder 上建立 Flex Library Project。
2. 依規則撰寫類別檔之後, 我們要的 swc 檔會在 /bin 裡。
3. 如官方教學, 在專案的 /src 裡新增一個 extension.xml。例如:
打包成 .ane :
1. 將 Android Application Project 裡生成的 jar 檔, 放到專案的 /bin/native 目錄內。
2. 將 Flex Library Project 裡生成的 swc 檔解壓縮 (swc 其實也是 zip 格式), 將 library.swf 放到上一步的 /bin/native 目錄內 (避免打包時, 找不到 library.swf 的錯誤, 理論上打包時應該要自動解壓縮並放到 ane 檔裡才是)。
3. 如官方教學, 在 Flex Library Project 專案的 /src 內新增一個批次檔 package.bat (windows):
5. -tsa none 的參數可以避免打包時 "Could not generate timestamp" 的錯誤。
測試功能的專案:
1. 在 Flash Builder 上建立 Flex Mobile Project。
2. 在 Properties > Flex Build Path > Native Extensions 加入 ane 檔。
3. 在 Properties > Flex Build Packaging > Google Android > Native Extensions, 勾選 ANE 項目裡的 Package (就是發佈時要包含 ane 檔的內容)。
4. 按 Export Release Build 就可以生成 apk 檔了。
註1: jar, swc, apk 都是 zip 格式, 就可以用 7-zip 之類的工具就查看打包的內容。
註2: Permissions 應該是在 Flex Mobile Project 上設定, 而不是在 Android Application Project 上設定。
官方建議在 Flash Builder 4.6 上安裝 Android Developer Tools 並直接在上面開 3 個 projects: Android Application Project, Flex Library Project 和 Flex Mobile Project。
在 Flash Builder 開 Android Application Project 遇到的狀況:
1. 以系統管理員身分執行 Flash Builder 才能安裝 plug-in。
2. 只能安裝 Android Developer Tools, 無法安裝 Android NDK plugins (問題不明)。
3. 撰寫時要切換到 Java perspective (個人在 Flash Builder 上開 Android Application Project 有莫名的排斥 XD )。
個人是在 Eclipse 上做 Android Application Project 開發:
1. 建立專案時選 Android Application Project。
2. 取消勾選 "Create custom launcher icon", 勾選 "Make this project as a library"。
3. 選 BlankActivity ( Create Activity 應該可以取消)。
4. 將 FlashRuntimeExtensions.jar 加到 libraries 裡 ( 此 jar 位於 AIR SDK 的目錄裡, 如 C:\air_sdk_33\lib\android ) 。
5. 依劇規則撰寫類別檔之後, 我們要的 jar 檔會在 /bin 目錄裡自動生成。
Flex Library Project:
1. 在 Flash Builder 上建立 Flex Library Project。
2. 依規則撰寫類別檔之後, 我們要的 swc 檔會在 /bin 裡。
3. 如官方教學, 在專案的 /src 裡新增一個 extension.xml。例如:
<extension xmlns="http://ns.adobe.com/air/extension/3.1">
<id>com.riarock.string</id>
<versionNumber>1</versionNumber>
<platforms>
<platform name="Android-ARM">
<applicationDeployment>
<nativeLibrary>shinderstringnative.jar</nativeLibrary>
<initializer>com.riarock.shinderstringnative.extensions.ShinderStringExtension</initializer>
</applicationDeployment>
</platform>
</platforms>
</extension>
打包成 .ane :
1. 將 Android Application Project 裡生成的 jar 檔, 放到專案的 /bin/native 目錄內。
2. 將 Flex Library Project 裡生成的 swc 檔解壓縮 (swc 其實也是 zip 格式), 將 library.swf 放到上一步的 /bin/native 目錄內 (避免打包時, 找不到 library.swf 的錯誤, 理論上打包時應該要自動解壓縮並放到 ane 檔裡才是)。
3. 如官方教學, 在 Flex Library Project 專案的 /src 內新增一個批次檔 package.bat (windows):
set adt_directory=C:\air_sdk_33\bin set library_directory=C:\Users\shinder\Adobe Flash Builder 4.6\StringANEConnector set native_directory=C:\Users\shinder\workspace\ShinderStringNative\bin\native set signing_options=-storetype pkcs12 -keystore "C:\Users\shinder\Desktop\mycert_shinderlin_123456.p12" set dest_ANE=ShinderString.ane set extension_XML=%library_directory%\src\extension.xml set library_SWC=%library_directory%\bin\StringANEConnector.swc "%adt_directory%"\adt -package -tsa none %signing_options% -target ane "%dest_ANE%" "%extension_XML%" -swc "%library_SWC%" -platform Android-ARM -C "%native_directory%" .4. 在 命令列中執行 package.bat, 就可以在相同的目錄看到 ane 檔了。
5. -tsa none 的參數可以避免打包時 "Could not generate timestamp" 的錯誤。
測試功能的專案:
1. 在 Flash Builder 上建立 Flex Mobile Project。
2. 在 Properties > Flex Build Path > Native Extensions 加入 ane 檔。
3. 在 Properties > Flex Build Packaging > Google Android > Native Extensions, 勾選 ANE 項目裡的 Package (就是發佈時要包含 ane 檔的內容)。
4. 按 Export Release Build 就可以生成 apk 檔了。
註1: jar, swc, apk 都是 zip 格式, 就可以用 7-zip 之類的工具就查看打包的內容。
註2: Permissions 應該是在 Flex Mobile Project 上設定, 而不是在 Android Application Project 上設定。
訂閱:
文章 (Atom)