日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何打包和部署air应用程序

發布時間:2023/12/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何打包和部署air应用程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來源:http://www.solosky.net/2010/12/package-and-deploy-air-application.html


昨天折騰了一個晚上,終于把我寫的美女時鐘桌面?的air應用程序給發布出去了,在發布的過程中還出現了點問題(下文有說明),不過總算解決了累死我了。 Air應用程序的部署和發布不是一般的麻煩,想來很多和我一樣的Air初學開發者在部署Air應用程序可能都不知道怎么做,于是我寫了這篇文章,希望能對你有所幫助。 如果你想發布一個Air程序,需要兩個步驟,打包和部署。下面對這兩個步驟都做詳細的說明。本文以上次發布的?美女時鐘桌面?作為示例。

一、打包Air應用程序

步驟1. 生成簽名文件(數字證書, CA)

Air的應用程序簽名(CA)是強制,不簽名無法打包應用程序,簽名基于RSA不對稱加密,生成一對公鑰和私鑰,使用私鑰加密應用程序,同時公布把公鑰打包到應用程序中,可以防止其他用戶修改發布的Air應用程序然后再發布。 一般來說,獲得簽名文件的方法有兩種:

  • 1) 可以向安全的證書管理機構如VeriSign或Thawte獲取證書,這種證書是安全的,并且Air安裝程序可以自動聯網獲取證書信息,如簽名者,頒發機構,有效期等。如果聯網能查到當前Air安裝程序的信息,表明這個程序是未被修改的,原始程序。當然這個需要交納一定的費用,如果你是開發一個完整的應用程序,并且能保證隨時更新,還是建議你使用這種方式獲取簽名文件。
  • 2) 使用 ADT 創建自簽名證書,您可以生成有效的 AIR 安裝文件,但由于無法驗證自簽名證書的可靠性,因此該證書只能向用戶提供有限的安全保證。當安裝自簽名 AIR 文件時,發行商信息將對用戶顯示為“未知”。ADT 生成的證書有效期為五年。如果只是測試Air應用程序,推薦這種方式。

這里采用第二種方式發布,簡單,免費,方便。 首先請確保 命令 AdobeAIRSDK/bin/adt.bat (linux下為adt)在環境變量中,然后執行以下命令:

展開源代碼查看源代碼 打印關于 1.adt -certificate -cn solosky -o solosky.net 1024-RSA SigningCert.p12 god!1#$

參數說明如下:

  • -certificate 當前命令為生成簽名文件
  • -cn solosky 分配的作為新證書公共名稱,必須。這里是solosky
  • -o solosky.net 被分配作為證書頒發組織名字。可選。這里是solosky.net
  • 1024-RSA 用于證書的密鑰類型,即“1024-RSA”或“2048-RSA”,必須,這里是1024-RSA
  • SigningCert.p12 保存證書的文件名字,必須,這里是SigningCert.p12
  • god!1#$ 簽名私鑰,以后簽名程序的時候需要輸入這個密碼,必須,這里是god!1#$

執行完畢后會在當前目錄生成一個SigningCert.p12的簽名文件,請妥善保管好這個文件,以后更新程序的時候需要使用相同的簽名文件簽名程序,否則無法完成更新操作; 更多關于adt簽名的信息請參考這里?和?對 AIR 應用程序進行簽名

步驟2. 打包Air應用程序

生成簽名文件之后,接下來就可以直接打包為.air的安裝文件了。 首先用cd命令進入air應用程序目錄,然后執行以下命令

展開源代碼查看源代碼 打印關于 1.adt -package? -storetype pkcs12 -keystore ../shells/SigningCert.p12 -keypass god!1#$ girlclock-1.0.air girlclock-air.xml .

參數說明如下:

  • -package 當前命令為打包air應用程序
  • -storetype pkcs12 簽名密鑰類型,保持不變
  • -keystore ../shells/SigningCert.p12 簽名文件地址,切記一定不要放在應用程序目錄下,否則簽名文件也會打包到應用程序。。。
  • -keypass god!1#$ 簽名文件的私鑰,創建簽名文件的時候輸入的密碼,運行之后仍需輸入一次
  • girlclock-1.0.air 輸出的air發布程序名,一般都以air為后綴
  • girlclock-air.xml 應用程序的描述文件
  • . 打包的目錄,.表明是當前目錄,切記別忘記最后面的一點

命令執行完畢,在當前目錄會生成girlclock-1.0.air的air部署文件,整個打包過程完成; 更多關于adt打包信息請參考?使用 AIR Developer Tool (ADT) 打包 AIR 安裝文件

如何生成exe可執行程序

你還可以指定target native參數,生成本地的可執行文件(window下為exe,linux為deb或者rpm,MacOS為dmg),但這就喪失的air的跨平臺性。 如下命令將會生成girlclock-1.0.exe文件:

展開源代碼查看源代碼 打印關于 1.adt -package? -storetype pkcs12 -keystore ../shells/soloskyAirSign.p12 -keypass god!1#$? -target native girlclock-1.0.exe girlclock-air.xml .

如果生成本地可執行文件,請注意以下幾點:

  • 1. 這種發布文件無法通過下面的網頁部署方式部署;
  • 2. 可以直接把可執行文件發布出去,用戶下載可執行文件,第一次運行時會自動檢測Air運行時環境,如果沒有會自動下載安裝,滿足安裝條件后會自動安裝到系統中,并在開始菜單中創建快捷方式,系統程序卸載工具中創建卸載方式;
  • 3. 如果你的應用程序需要支持NativeProcess(即supportedProfiles配置為extendedDesktop),則必須采用這種方式打包和部署,我在這里糾結了很久;
  • 4. 無法支持Air的Update框架,但有開源的解決方案(請google之);

二、部署應用程序

因為Air應用程序運行需要Air運行時環境,所以部署起來有點復雜,這里提出了三種部署方式,建議在發布air應用程序的時候,這三種方式都采用,盡量讓所有的用戶都能順利的安裝上air應用程序;

1. Web部署

這種方式只適合打包類型為.air類型的應用程序的部署。 直接把.air的文件提供給用戶下載是不行的,因為Air應用程序運行需要Air運行時環境,所以假如用戶沒有安裝air運行時環境,就無法運行.air的應用程序。好在air官方發布了一個統一的安裝包,可以在網頁上直接安裝air應用程序,并且會自動檢測用戶是否安裝air運行時環境,如果沒有會自動下載安裝,提供了無縫的安裝體驗,非常的方便,只不過部署起來比較麻煩:

  • 1. 先從官方網站下載?air安裝包文件(Adobe AIR Badge Installer),并解壓;
  • 2. 建立web目錄,把生成的.air應用程序文件(girlclock-1.0.air),以及解壓之后的安裝包文件里面的AIRInstallBadge.swf,swfobject.js,expressinstall.swf四個文件復制到web目錄下;
  • 3. 為你的應用程序截圖,調整大小為205×170像素,重命名為snap.png也復制到web目錄中;
  • 4. 新建一個文件deploy.html,復制下面的內容到這個文件里,然后修改部分參數,保存(當然你也可以復制到你的發布頁中,注意一定要包含swfobject.js腳本); 展開源代碼查看源代碼 打印關于 01.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 02.<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 03.<head> 04.<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 05.<title>美女時鐘桌面 v1.0 在線安裝</title> 06.<script type="text/javascript" src="swfobject.js"></script> 07.</head> 08.<body> 09.<div id="flashcontent" style="width:215px; height:180px;"> 10.<strong>請升級你的Flash Player。</strong> 11.程序安裝需要 Flash Player 6.0.65 或者更高版本的Flash Player。 12.</div> 13.<script type="text/javascript"> 14.// <![CDATA[ 15.? 16.// version 9.0.115 or greater is required for launching AIR apps. 17.var so = new SWFObject("AIRInstallBadge.swf", "Badge", "215", "180", "9.0.115", "#FFFFFF"); 18.so.useExpressInstall('expressinstall.swf'); 19.? 20.// 下面的參數在網頁安裝air應用程序的是必須的 21.so.addVariable("airversion", "2.5"); // 修改為運行你的air應用程序需要的最低運行時環境版本 22.so.addVariable("appname", "GirlClock"); // 修改為應用程序名,將會在安裝界面上顯示給用,僅支持英文.... 23.so.addVariable("appurl", "http://labs.solosky.net/air/girlclock/girlclock-1.0.air"); //你的.air打包文件的絕對地址,必須以http或者https開頭 24.? 25.// 下面的參數在網頁啟動air應用程序是必須的,但安裝時是可選的, 26.so.addVariable("appid", "net.solosky.girlclock"); // 應用程序Id,命名方式類型于java的包命名方式(ex. com.gskinner.air.MyApplication) 27.so.addVariable("pubid", ""); // publisher id 28.? 29.// 這個參數是可以為airy應用提供在線升級支持 30.so.addVariable("appversion", "1.0"); //你的應用程序版本 31.? 32.// 下面的參數是可選的 33.so.addVariable("image", "snap.png"); // 應用程序截圖(205x170像素),推薦設置 34.? 35.//下面的參數請根據自己需要修改 36.so.addVariable("appinstallarg", "installed from web"); // passed to the application when it is installed from the badge 37.so.addVariable("applauncharg", "launched from web"); // passed to the application when it is launched from the badge 38.so.addVariable("helpurl", "help.html"); // optional url to a page containing additional help, displayed in the badge's help screen 39.so.addVariable("hidehelp", "false"); // hides the help icon if "true" 40.so.addVariable("skiptransition", "false"); // skips the initial transition if "true" 41.so.addVariable("titlecolor", "#00AAFF"); // changes the color of titles 42.so.addVariable("buttonlabelcolor", "#00AAFF"); // changes the color of the button label 43.so.addVariable("appnamecolor", "#00AAFF"); // changes the color of the application name if the image is not specified or loaded 44.? 45.so.write("flashcontent"); 46.? 47.//更多參數請參見?http://www.adobe.com/devnet/air/articles/badge_for_air.html 48.// ]]> 49.</script> 50.</body> 51.</html>

    現在整個目錄的內容如下圖:

  • 5. 將web目錄下面的所有文件上傳到你的網站服務器上,然后輸入deploy.html查看是否出現安裝提示。如下圖:

更多關于air無縫安裝包(Adobe AIR Badge Installer)請參考?Getting started with the custom install badge

2. 本地程序部署

使用上面的打包方法打包為本地應用程序,如indow下為exe,linux為deb或者rpm,MacOS為dmg,可以直接雙擊執行,但不包含air運行時環境,當用戶運行應用程序的時候會自動自動檢測系統是否已經安裝air運行時環境,如果沒有會自動下載并安裝。 這種類型的發布程序部署比較簡單,直接發布出去即可,

3. 包含air運行時環境部署

這種方式可以直接把air運行時環境和air應用程序打包在一起,而不用考慮用戶是否已經安裝了air運行時環境。但由于包含了air運行時環境,所以有點大,大概20M左右的大小,對于無法聯網或者自動安裝失敗的用戶可以嘗試使用這種方式發布。 網上的方案比較多,這里還是推薦?夢宇工作室?編寫的?AirLauncher?來打包air應用程序。 遺憾的是僅支持windows。原理很簡單,就是啟動進程調用adl命令啟動程序,但沒有命令行窗口。

  • 1. 首先建立pack目錄,然后把應用程序的所有文件都復制到pack目錄中;
  • 2. 在pack目錄中建立AdobeAIRSDK目錄,并把AIRSDK目錄下面的bin和runtimes復制到pack/AdobeAIRSDK下;
  • 3. 復制AirLauncher.exe到pack目錄下,并修改應用程序描述符為application.xml;雙擊運行AirLauncher.exe看能否啟動air程序,如果能,工作完成了大部分href=”http://flexlessons.googlecode.com/files/ResHacker%203.5.zip”>ResHack修改;整個文件目錄結構如下圖:
  • 4. 你可以重命名AirLauncher.exe為你的應用名稱,如girlclock.exe,程序圖標可以使用
  • 5. 打包pack目錄下的所有文件為.zip文件,并發布這個壓縮文件到網頁上即可。

你可以在這里查看AirLauncher的作者更詳細的打包教程:用WinRAR制作脫離AIR運行時的AIR程序安裝包

上面三種方式都可以完成air應用程序的部署,推薦使用Web部署和本地部署,包含air運行時環境部署也建議一并發布,如果每一種方式不可用,可以嘗試其他的安裝方法。盡量讓每個用戶都能用上你寫的air應用程序。


總結

以上是生活随笔為你收集整理的如何打包和部署air应用程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一区二区三区天堂 | 欧美在线观看不卡 | 亚洲精品久久久久久国 | 国产九九热 | 色导航在线 | 亚洲高清网 | 九色丨蝌蚪丨成人 | 少妇人妻偷人精品一区二区 | 国产在线传媒 | 五月天狠狠干 | 成人免费毛片视频 | 中文字幕人妻丝袜二区 | 久久综合免费视频 | 日韩精品一区二区三区在线 | 久久久久久久久黄色 | 久久精品天天中文字幕人妻 | 好邻居韩国剧在线观看 | 69av在线视频 | 一级α片免费看刺激高潮视频 | 免费看国产精品 | 91正在播放 | 欧美日韩国产精品一区 | 黑人巨大精品欧美 | 骚虎免费视频 | 女女同性女同一区二区三区按摩 | 麻豆一区二区三区 | 成年人视频免费在线观看 | 国产乱妇无码大片在线观看 | 琪琪色视频 | 欧美大片在线 | 免费观看av网址 | 日本黄色片段 | 成人国产精品免费观看视频 | 日韩一区二区不卡 | 亚洲AV午夜成人片 | 人人插人人插 | 色小说香蕉 | 日韩网站在线 | 日韩男女啪啪 | 日本少妇裸体做爰高潮片 | 国产一区二区视频免费 | 奇米网在线观看 | 亚洲图片在线 | 欧美激情片一区二区 | 免费的一级黄色片 | 99re7| 成人午夜淫片100集 伊人久久国产 | 69精品人人 | 日韩和欧美的一区二区 | 久久免费视频一区二区 | 五月天婷婷在线播放 | 亚洲超碰在线观看 | 久草国产精品视频 | 农村搞破鞋视频大全 | 日韩黄色免费观看 | 97超级碰碰碰 | 俄罗斯美女一级爱片 | 亚洲精品911 | 91在线第一页 | 69视频免费观看 | 欧产日产国产精品98 | 性感少妇在线观看 | 青娱乐最新地址 | 久久国产日韩欧美 | 欧美日韩国内 | 欧美tickle狂笑裸体vk | 亚洲精品免费电影 | 精品一区二区三区无码视频 | 都市激情男人天堂 | 亚洲美女屁股眼交8 | 九九在线观看视频 | 精品人妻午夜一区二区三区四区 | 夜夜天天拍拍 | 国产精品成人69xxx免费视频 | 四川操bbb | 人人舔人人 | 狠狠躁 | 精品福利电影 | 免费欧美一区 | 加勒比一区二区三区 | 欧美日韩小视频 | 99香蕉视频 | 国产91综合一区在线观看 | 国产精品婷婷午夜在线观看 | 久久国色 | 自拍偷拍p | 伊人加勒比 | 欧美亚洲大片 | 精品一区不卡 | 啪在线视频 | 亚洲国产一区二区三区 | 三级网站在线播放 | 国产亚洲欧美日韩高清 | 天堂bt在线| 双性懵懂美人被强制调教 | 一区二区三区在线播放 | 天天综合网国产 | 亚洲三级影院 | 亚洲不卡在线视频 |