2011-02-05 37 views
0

我正在開發一個Android應用程序,該應用程序使用res/raw中的多個python腳本,這些腳本通過SL4A部署幷包含在應用的APK中。由於腳本使用python包,因此它們的目錄包含許多0byte大小的__init__.py文件,這些文件是python將目錄識別爲包所必需的。 我的問題是aapt包裝過程中會忽略這些文件,從而防止腳本從設備/仿真器的工作,因爲模塊沒有被翻譯發現:aapt:打包時不要跳過(空)文件

[aapt] Creating full resource package... 
[null]  (skipping (null) file '/home/user/app/res/raw/pypackage/__init__.py') 

有沒有辦法告訴aapt包括不過,還是必須手動填充文件以使它們> 0kb大小?我已經看過aapt命令行選項,但我沒有找到任何東西。

+0

AssetManager可能是比原始資源更好的解決方案。特別是因爲它聽起來像你需要目錄結構和資源不支持這樣的。 http://developer.android.com/reference/android/content/res/AssetManager.html – 2011-02-05 02:07:17

回答

0

如果這是您唯一的問題,您可以在__init__.py文件中添加註釋''。 如果您發現更多問題作爲目錄結構,則可以使用tar或zip並在安裝APK後展開它。

+1

事實證明,`(null)`文件不是0字節大小的文件,而是名稱以下劃線開頭的文件。所以將它們包含在apk中而不更改名稱的唯一方法的確將它們放入zip文件並在運行時解壓。 – jbaiter 2011-02-11 11:54:45