簡體   English   中英

可以更改Android APK文件中的資源而無需重建嗎?

[英]Can resources in an Android APK-file be changed without rebuilding?

在我的Android應用程序中,我只需要在屬性文件中進行一些小改動。

例如:

在我的屬性文件中,有一個特定客戶端的歡迎消息。 所以,我必須在我的應用程序中只更改客戶端名稱。

但問題是,我必須在源代碼中執行此操作,然后必須每次為每個客戶端構建。

有沒有辦法直接在.apk文件中更改它,而無需再次創建構建。

為此,您必須解壓縮打包的APK,並找到要更改的字符串。 該字符串可能已被編碼或轉換為字節碼(Java String)或二進制格式(XML String)。 您需要確定是否已完成此操作,以及新String的外觀。 然后,您需要獲取要替換它的字符串,並在交換它們之前以相同的方式對其進行編碼。

完成所有這些操作后,您必須重新壓縮應用程序並運行簽名工具並手動壓縮對齊,然后再以apk格式使用。

坦率地說,這樣做需要更長的時間才能重新編譯應用程序。

由於您擁有源代碼,解壓縮和重建APK似乎是浪費時間。 您應該在原始構建過程中解決此問題。

如果您使用Eclipse手動構建APK包,那么您應該考慮設置一些自動構建系統(Ant,Maven等)並將客戶端名稱作為參數提供給構建腳本。

如果您已經在使用Ant或Maven,那么這些工具已經提供了在編譯之前使用屬性值替換文本文件中的標記的方法。 請告訴我們有關您的構建環境的更多信息,以便我們提供更准確的答案。

使用Android APK工具

引用描述

它是逆向工程第三方,封閉式二進制Android應用程序的工具。 它可以將資源解碼為近乎原始的形式,並在進行一些修改后重建它們;

暫無
暫無

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

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