日韩性视频-久久久蜜桃-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应用程序的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 91美女福利视频 | 69精品 | 69re视频 | 日本a v网站 | 在线成人中文字幕 | 天天做天天摸天天爽天天爱 | 天天干夜夜撸 | 欧美性做爰毛片 | 神秘马戏团在线观看免费高清中文 | 亚洲国产成人在线 | 国产一区二区片 | www.youjizz.com日本 | 久久一区国产 | 成人国产视频在线观看 | www.色黄| 永久av网站 | 国产欧美三区 | 国产农村妇女毛片精品久久麻豆 | jlzzjizz在线播放观看 | 国产欧美一区二区三区精品酒店 | 久久天天操 | 亚洲美女在线视频 | 2020av视频| 欧美暧暧视频 | 丁香婷婷视频 | 精品欧美一区二区三区在线观看 | 久久精品欧美 | 午夜天堂 | 久久精品欧美一区 | 在线观看中文字幕码 | 欧美一区二区三区在线免费观看 | 国产精品91av | 伊人中文字幕在线观看 | av网站在线观看免费 | 极品少妇xxxx精品少妇 | 日日噜噜夜夜爽爽 | 日韩中文字幕在线看 | 国产中文字幕在线观看 | 极品探花在线 | 女同动漫免费观看高清完整版在线观看 | 国产制服av | 日本三级生活片 | 日韩福利社 | 免费一级a毛片夜夜看 | 99热国产| 91麻豆成人 | 国产免费91视频 | 国内自拍第一页 | 色屁屁www | 91桃色视频在线观看 | 中文字幕成人在线观看 | 中文字字幕在线中文乱码 | 99re6热在线精品视频播放 | 亚洲人成电影一区二区在线 | 日韩国产欧美 | 草草影院第一页yycc.com | 在线国产观看 | 男女av免费| 日韩高清黄色 | 五月婷婷丁香在线 | 大波大乳videos巨大 | 国产v在线 | 日韩精品首页 | 一区二区三区黄色 | 精品无码一区二区三区爱欲 | 国产ts网站 | 国产综合视频 | 在线看片日韩 | 久操免费视频 | 国产精品久久久久久久久久久久久久久久久久 | 日韩一二三四 | 操碰视频在线 | 色网站在线看 | 欧美日韩国产成人精品 | 青草久久网 | 调教少妇视频 | 午夜影院福利社 | 92久久 | 台湾150部性三级 | 国产另类精品 | 亚洲九九精品 | 久久中文字幕无码 | av免费看网站 | 在线黄色大片 | 成人免费观看视频网站 | 露出调教羞耻91九色 | 亚洲色婷婷一区二区三区 | 人体一级片 | 蜜臀久久精品久久久久久酒店 | 成年人免费网站 | 欧美激情性做爰免费视频 | 亚洲第三十七页 | 亚洲性一区 | 性做久久久久 | 69视频网址 | 久久6| 亚洲一卡二卡在线观看 | 岛国精品在线观看 | 国产剧情演绎av |