簡體   English   中英

構建配置和Android NDK

[英]Build Configurations and the Android NDK

在過去的幾天里,我一直在努力建立一個系統並運行以構建Android NDK應用程序的多個配置。 我能夠很好地建立圖書館; 我遇到的問題通常源於在更改構建配置時保持這些庫的最新狀態。

我需要一個大部分完全自動化的系統:用戶應該只改變構建配置,一切正常

您是如何解決構建配置以及庫未正確重建的問題?

我已經嘗試了很多不同的方法,但它們似乎最終都出現了我手中的問題。

最初,我們只輸出一個具有相同名稱的共享對象文件,而不管構建配置如何(例如game.so)。 問題是 ,更改構建配置不會觸發重建庫; 你必須對源代碼或構建腳本進行更改。 所以人們從Debug變為Release,運行應用程序,並且在不知不覺中仍然實際鏈接到Debug版本。

因此,我們嘗試根據構建配置將庫輸出到唯一的共享對象。 例如,調試版本是gamed.so。 發布版本是gamer.so。 問題是 ,Java代碼沒有構建配置的概念,那么我們如何知道要加載哪個版本的庫(這是從Java完成的)?

好吧,為了解決這個問題,我們在試圖加載它們的庫的所有可能版本中進行try / catch循環。 當我們找到存在的那個時,加載它! 問題是在將新配置部署到手機時不會刪除舊版本的庫。 因此,如果您已經構建並運行了Debug和Release,那么這兩個庫現在都在手機上了! 你首先要求的是它,它會找到並加載。

所以無論如何,這似乎喜歡的事, 必須已解決,但我在網上找到的信息非常少。 沒有什么能滿足我的需求。

我的問題是: 您如何處理構建配置以及庫未正確重建的問題?

這實際上很奇怪。 我一直看到install -r刷新/data/data/app.pack.age/lib目錄。 您使用哪種設備進行開發?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM