最近在给Unity3D接入各个Android运营平台的插件,其中需要自己做一个简单的WebView用于显示游戏内广告等,在制作的过程中碰到了一个很蹊跷的问题。

       按照正常的工程来做,发现findViewById返回了一个null 导致了空指针异常。无论是直接用Unity编译apk还是用Unity导出Android工程,都会出现该问题。经过各种查找,最终找到了问题的原因。

       问题的原因主要在于,在我们将自己的android工程打成jar插件时,原来的R.id.xxxxx已经被转换成相应的数字id编译进了jar包,而Unity3D在导出工程或是apk的时候,会对所有资源进行重新的id编译,这就导致我们jar中的旧id是无法获取到相应对象。解决办法如下:

//this.wv=(WebView)findViewById(R.id.ifree_brow_webview);    int webviewID = getResources().getIdentifier("ifree_brow_webview", "id", getPackageName());this.wv = (WebView)findViewById(webviewID);

 这样获得ID就可以保证是正确的ID了

更多相关文章

  1. Android之反编译技术
  2. 关于Android工程从eclipse迁移至android studio的过程
  3. Android开发-从硬件到APP(一) : 单独编内核驱动模块
  4. cocos2dx 3.x系列之Mac环境编译Android(安卓)apk须知
  5. android导入外部数据库到项目中的使用方法
  6. Android7.1.2源码解析系列】Android编译系统翻译------Android_B
  7. 音视频学习之NDK交叉编译基础
  8. Android直播开发之旅(16):使用FFmpeg保存网络流到本地文件
  9. 编译时注解之butterknife的简单实现

随机推荐

  1. 样式表以及Color.xml文件『Android系列六
  2. 收藏-------Android应用程序组件Content
  3. android 系统核心机制binder(06)binder C++
  4. android客户端和java服务端之间用socket
  5. 纸上得来终觉浅,绝知此事要躬行。Broadcas
  6. android listview仿iphone弹簧特效
  7. android杀不死的Service
  8. Android(安卓)11 正式发布 | 开发者们的
  9. android studio启动一直卡在fetching And
  10. 解决Android启动显示空白界面的问题,自定