[英]Android:add resource file in JAR
我計划在android中創建一個SDK,這意味着將我的類文件和資源(布局)共享給另一個需要它們的應用程序。 如果我將我的應用程序導出為JAR,則它不包含資源文件和R.class。 我知道目前Android不支持通過JAR打包資源文件但是我在網上搜索並找到了一個解決方案,如果使用源代碼編譯我們的資源文件意味着我們可以訪問其他應用程序中的資源。
因此,我以下列方式做到了:
將所有res文件夾內容復制到我的源文件夾中
最后我的src文件夾看起來像
SRC
com.mypackage
>myfile.java drawable-hdpi drawable-ldpi drawable-mdpi drawable-xhdpi com.mypackage.drawable com.mypackage.layout com.mypackage.menu com.mypackage.values
我構建我的項目我得到了所有類文件,包括我的bin中的資源和r.class
然后我通過jar -cvf mysample.jar com / mypackage / *手動創建jar
最后一個jar包含我的項目在mypackage中的所有類和資源。
然后我將mysample.jar
添加到另一個應用程序說testapp
,這里我把JAR放在資產文件夾中(因為布局)並添加到構建路徑。 我還配置了構建路徑
在這個應用程序中,我從mysample.jar
調用myfile.class
,這是從該JAR加載布局所需的。
問題是在這里它沒有看到JAR文件下的資源它只看到當前項目res文件夾中的資源而且是NULL pointer Exception
但它從JAR文件調用R.java。 廣告也嘗試將xmlns:custom =“http://schemas.android.com/apk/res-auto”放入我的清單文件中,它也無效。 我希望我能完全解決這個問題,這可能是資源映射問題。 你有什么想法解決這個問題嗎?
你不能在jar中存儲資源。 這是可能的,但它很棘手,所以現在Android只提供Android庫。 否則,您可以單獨使用已編譯的源代碼和資源(通過向您的庫提供資源ID)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.