ANE的用途及android平台需注意的地方

來源:互聯網
上載者:User

標籤:ane

flash是跨平台的,雖然目前用flash開發手遊的公司比較少,但是也是存在的。目前一般手遊用cocos2dx的比較多,3d手遊一般都用unity3d。以前做webgame的公司轉型做手遊後,技術轉型也是一個問題,所以基本都會能採用現有的技術體系就採用,不會硬是轉型用主流。以前做webgame,使用flash還是非常多的,所以轉型手遊後也基本會用flash開發手遊,也不會有什麼問題,除了極少數的機型相容性問題外,基本沒別的問題,都說flash的效能差,但是做一般性的、不是很複雜的遊戲足夠了,不會因效能問題產生什麼問題。手遊經常要和第三方平台合作,所以一般也需要接第三方平台提供的sdk,sdk功能一般都是登入、註冊、支付,再加上一些其他的統計。flash開發的手遊可以分別打包成apk和ipa運行於Android和IOS,在接SDK時需要分別接Android和IOS的SDK,都是通過ANE來完成的。

ANE是Adobe Air Native Extension的縮寫,即Air的本地擴充,flash中as3不能直接調用系統平台本地的介面和方法,ANE的作用可以理解為是flash as3和本地系統介面方法的一個橋樑,通過ANE封裝一些調用本地介面的方法,然後在as3中再調用ANE中的介面方法,來達到調用本地介面方法的目的。

在這裡講不詳細說明開發ane的具體代碼和過程,只是對ANE作一個簡單的說明,可以快速瞭解ANE是什麼,有什麼用,以及需要注意的地方。

下面是我在開發android ane過程中遇到的一些問題:

1、海外平台方一般提供的sdk有2個工程:平台方自己的sdk和facebook sdk(或google play service sdk),有經驗的平台方自己的sdk中是動態擷取資源,不是通過R.xx.xx來擷取的,這樣我們就不需要在ane中去處理資源的映射了;但是facebook sdk或google play service sdk都是通過R.xx.xx來擷取資源的,我們需要在ane中手動將資源重新對應一遍,否則打成ane包(*.ane)後放到flash工程中會因找不到資源而導致無法將flash工程無法打包,找不到資源的原因是flash mobile項目打包時會自動產生一個以air.xx.xxx....開頭的包名。具體映射資源的方法這裡簡單說下:

  • 可以先將facebook或google play service sdk的jar包拷貝的自己的ane android工程下,然後查看facebook或google play service sdk中R檔案所在包名,在自己的ane android工程的src包下建立一個一致的包名,將R檔案拷貝到該包目錄下,將R.java中的final修飾符去掉,這樣才能修改R中的值,將R中所有的資源ID全部重新賦值即可。通過FREContext.getResouceId("xx.xx"),具體怎麼搞可以baidu下。
  • 有的sdk中包含.so檔案,需要將.so檔案按照官方說明放到指定目錄下就行了,但是我遇到了一個奇怪的問題,加入.so檔案後打成*.ane,再將ane引用到flash工程中打成apk包無法安裝,我們需要找一個簽名工具將apk重新簽名就好了,具體原因不詳,可能有別的方法解決,但是我最終是通過重新簽名成功的。
  • 海外平台方一般提供的sdk有2個android工程,我們需要手動將這2個工程的資源檔合并成一個,最後將合并後的res檔案夾放到指定目錄下來產生ane,一般就是重名檔案如strings.xml這樣的檔案就需要手動合并內容,其他的非重名檔案可以直接拷貝。
android ane就這些吧,搞定這些基本就沒什麼問題了。ios ane要簡單的多,我沒做過ios ane,但是同事們只要照葫蘆畫瓢基本都做出來了,但是做android ane時照葫蘆畫瓢會讓你獲得意想不到的Error,反正我是折騰了很久,做android ane時。

之後有時間會將android ane的具體步驟詳細的記錄下來,可能N年以後還會接觸呢。不過我相信adobe flash也會慢慢解決開發ane繁瑣複雜的情況的,到時候可能做ane就不會有那麼多的坑爹坑娘坑全家的各種莫名其妙的問題了。

ANE的用途及android平台需注意的地方

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.