我已经建立了一个半推送服务(检查来自集中式http服务器的通知),我想将其分发给几个朋友和客户,这样他们就可以轻松地向他们的应用添加推送式通知麻烦。
我已经足够打包JAR并将其包含在我的其他一些项目中,但现在我在资源包装方面遇到了障碍 -
R.drawable.goldstar
,一次引用resources.getIdentifier('goldstar', 'drawable', 'com.com.pushnotify')
getIdentifier('goldstar', 'drawable', 'com.com.pushnotify')
返回0值。如何使用可绘制资源分发JAR,并将它们显示在相关应用程序中?包括我的JAR在内的应用程序永远不需要访问我正在分发的图标,只有我自己的代码才能访问。
尽管我在搜索结果中发现了很多说法,我确信这在某种程度上是可能的,因为a)当我添加新图像时,我的JAR文件会增长,并且b)我已经包含之前带有图标的JAR文件( Airpush执行此操作,UrbanAirship 也是如此)。
提前致谢!
答案 0 :(得分:2)
如何使用可绘制资源分发JAR,并将它们显示在相关应用程序中?
目前不支持。创建可以分发资源的Android库项目是在工具路线图上,并且有望在不久的将来出现。
答案 1 :(得分:0)
我不认为这可能是你尝试这样做的方式。 Android在其apks中“构建”资源。 jar文件中的资源(据我所知)被忽略了。
你可以将它构建为“android-library”,其中包含这些xml布局。如果您不希望整个代码“易于阅读”,您可以只将此rescources和使用它们的类放在“android-library”中,而库中的其余部分保留在.jar文件中
答案 2 :(得分:0)
这不是你要求的,但无论如何这里有一个有趣的选择:
而不是getIdentifier('goldstar', 'drawable', 'com.com.pushnotify')
使用getIdentifier('goldstar', 'drawable', getApplicationContext().getPackageName())
将图像/资源作为.zip分发,以便与目标应用程序(将使用您的共享.jar的应用程序)解压缩,安装和编译。
并且不要在.jar中包含图像。
这未经过测试,但应该可行。