繁体   English   中英

创建android外部jar作为库,找不到资源

[英]Create android external jar as library, no find resources

尝试执行此操作时遇到问题:

LinearLayout container = (LinearLayout)findViewById(R.id.chat_list_container);

android.content.res.Resources $ NotFoundException:资源ID#0x7f030001

这是我刚创建并添加到我的应用程序中的外部jar中的代码。

顺便说一句,当我将其用作导入模块并且不像外部jar一样使用时,此确切的代码有效。

有什么帮助吗?

谢谢!

Android不会在任何外部jar中寻找资源,因为它们仅包含可执行代码。

如果您还希望将资源发布为库,则情况将变得更加难看。 在这种情况下,您可以像framework-res.apk一样创建资源apk。 为此,请创建一个没有源代码的android项目,放置res文件并将其添加到您的AndroidManifest.xml中:

...
<application
    ...
    android:hasCode=false >
    ...
</application>

在这种情况下,您将必须直接从res-apk中检索res ID:

int resId = getPackageManager().getResourcesForApplication("res.apk.package.name")
.getIdentifier("chat_list_container" , "layout", "res.apk.package.name");

// Maybe getResources.getIdentifier() works, but I'm not sure.
LinearLayout container = (LinearLayout)findViewById(resId);

我应该提到,将运行该应用程序的设备还必须安装了资源apk。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM