android – 库插件::找不到库资源

android – 库插件::找不到库资源,第1张

概述我目前正在将 Android库转换为Unity插件. 我已经走了很长的路,但是现在我已经陷入无法从Unity访问图书馆资源的地步. 应用程序运行正常,直到我实际从库中调用视图. 这是我在那一刻得到的错误日志: 12-12 13:37:36.495: W/ResourceType(32155): getEntry failing because entryIndex 1 is beyond type 我目前正在将 Android库转换为Unity插件.
我已经走了很长的路,但是现在我已经陷入无法从Unity访问图书馆资源的地步.

应用程序运行正常,直到我实际从库中调用视图.
这是我在那一刻得到的错误日志:

12-12 13:37:36.495: W/ResourceType(32155): getEntry failing because entryIndex 1 is beyond type entryCount 112-12 13:37:36.495: W/ResourceType(32155): Failure getting entry for 0x7f030001 (t=2 e=1) in package 0 (error -2147483647)12-12 13:37:36.500: D/AndroIDRuntime(32155): Shutting down VM12-12 13:37:36.500: W/dalvikvm(32155): threadID=1: thread exiting with uncaught exception (group=0x4109a2a0)12-12 13:37:36.505: E/AndroIDRuntime(32155): FATAL EXCEPTION: main12-12 13:37:36.505: E/AndroIDRuntime(32155): androID.content.res.Resources$NotFoundException: Resource ID #0x7f03000112-12 13:37:36.505: E/AndroIDRuntime(32155): at androID.content.res.Resources.getValue(Resources.j ava:1026)12-12 13:37:36.505: E/AndroIDRuntime(32155): at androID.content.res.Resources.loadXmlResourceParse r(Resources.java:2131)12-12 13:37:36.505: E/AndroIDRuntime(32155): at androID.content.res.Resources.getLayout(Resources. java:865)12-12 13:37:36.505: E/AndroIDRuntime(32155): at androID.vIEw.LayoutInflater.inflate(LayoutInflater .java:394)12-12 13:37:36.505: E/AndroIDRuntime(32155): at androID.vIEw.LayoutInflater.inflate(LayoutInflater .java:352)12-12 13:37:36.505: E/AndroIDRuntime(32155): at com.mycompany.mylibrary.components.AndroIDWebVIEwD ialog.<init>(AndroIDWebVIEwDialog.java:140)12-12 13:37:36.505: E/AndroIDRuntime(32155): at com.mycompany.mylibrary.FunctionAndroIDlibrary.Sho wDialog(FunctionAndroIDlibrary.java:163)12-12 13:37:36.505: E/AndroIDRuntime(32155): at com.mycompany.mylibrary.FunctionAndroIDlibrary.but tonREGISTER(FunctionAndroIDlibrary.java:94)12-12 13:37:36.505: E/AndroIDRuntime(32155): at com.mycompany.myUnityProjectAndroIDlibraryTest.r un(AndroIDlibraryTest.java:78)12-12 13:37:36.505: E/AndroIDRuntime(32155): at androID.os.Handler.handleCallback(Handler.java:615 )12-12 13:37:36.505: E/AndroIDRuntime(32155): at androID.os.Handler.dispatchMessage(Handler.java:92 )12-12 13:37:36.505: E/AndroIDRuntime(32155): at androID.os.Looper.loop(Looper.java:137)12-12 13:37:36.505: E/AndroIDRuntime(32155): at androID.app.ActivityThread.main(ActivityThread.jav a:4898)12-12 13:37:36.505: E/AndroIDRuntime(32155): at java.lang.reflect.Method.invokeNative(Native Method)12-12 13:37:36.505: E/AndroIDRuntime(32155): at java.lang.reflect.Method.invoke(Method.java:511)12-12 13:37:36.505: E/AndroIDRuntime(32155): at com.androID.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:1006)12-12 13:37:36.505: E/AndroIDRuntime(32155): at com.androID.internal.os.ZygoteInit.main(ZygoteInit .java:773)12-12 13:37:36.505: E/AndroIDRuntime(32155): at dalvik.system.NativeStart.main(Native Method)

>这些资源实际存在于库.jar文件中.
>从Unity AndroID项目禁用setContentVIEw()

有谁可以帮忙吗?
先感谢您!

[编辑]
我想我在这里发现了问题:
http://tools.android.com/recent/dealingwithdependenciesinandroidprojects

important change: We have changed the way library Projects generate and package R classes:The R class is not packaged in the jar output of library Projects anymore.library Project do not generate the R class for library Projects they depend on. Only main application projects generates the library R classes alongsIDe their own.

有谁知道与Unity3D一起解决这个问题的最佳解决方案是什么?

解决方法 实际上它是由Unity3D的一个不合适的后期打包过程引起的.它在aapt生成包含资源ID的R类之前生成dex文件.所以你没有机会依赖静态资源ID.

我已经通过为Unity3D编写一个编辑器插件解决了这个问题.但我现在无法释放它,因为它有问题而我现在太忙了,无法修复它.

但由于你的问题是移植代码.我建议你改变你的资源加载代码在java中采用Unity3D引起的这个问题.

// context should be the activity of your unity3d application which raise the call to your plugin.// Loading stringString myResstring = context.getResources().getString(        context.getResources().getIDentifIEr("sample_string","string",context.getPackagename()));// Loading imageAlertDialog.Builder tDialog = new AlertDialog.Builder(context);tDialog.setIcon(      context.getResources().getIDentifIEr("sample_icon","drawable",context.getPackagename()));
总结

以上是内存溢出为你收集整理的android – 库插件::找不到库资源全部内容,希望文章能够帮你解决android – 库插件::找不到库资源所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1128756.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存