安卓下cocos2dx實現cpp部分線上更新

來源:互聯網
上載者:User

標籤:android   style   java   c   get   檔案   

目前cocos2dx + lua的方式可以動態更新所有的指令檔,但是卻無法動態更新cpp部分的代碼(這部分東西一般我們稱之為底包),事實上採用同樣的方案在android下也是可以實現動態更新的,只需要將java代碼裡載入libgame.so的代碼稍微做些修改即可
    static {        System.loadLibrary("game");    }  將上面的代碼移到onCreate裡大概如下
protected void onCreate(Bundle savedInstanceState) {      File file = new File(getFilesDir().getAbsolutePath()             + "/libgame.so");     if (file.exists()) {         System.load(file.getAbsolutePath());     } else {         System.loadLibrary("game");     }     super.onCreate(savedInstanceState);}
這樣一來我們就可以像更新lua指令碼一樣將libgame.so也更新到可寫目錄下,然後載入那個新的libgame.so,具體的可能還需要做些修改以保證在修改libgame.so的時候當前程式不會崩潰,這些都有辦法來實現。
大概調研了一下,ios可以建立動態連結程式庫,技術上允許,但是審核app時會被拒掉,不允許這種方式來使用,因此可能ios上無法實現如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.