• [游戏开发-学习笔记]菜鸟慢慢飞(16)- Unity3D-Android插件问题集锦


    问题一
    最近在给Unity3D接入各个Android运营平台的插件,其中需要自己做一个简单的WebView用于显示游戏内广告等,在制作的过程中碰到了一个很蹊跷的问题。
           按照正常的工程来做,发现findViewById返回了一个null 导致了空指针异常。无论是直接用Unity编译apk还是用Unity导出Android工程,都会出现该问题。经过各种查找,最终找到了问题的原因。
           问题的原因主要在于,在我们将自己的android工程打成jar插件时,原来的R.id.xxxxx已经被转换成相应的数字id编译进了jar包,而Unity3D在导出工程或是apk的时候,会对所有资源进行重新的id编译,这就导致我们jar中的旧id是无法获取到相应对象。解决办法如下:

    Java代码:
     1. //this.wv=(WebView)findViewById(R.id.ifree_brow_webview);  
     2. int webviewID = getResources().getIdentifier("ifree_brow_webview", "id", getPackageName());  
     3. this.wv = (WebView)findViewById(webviewID);  

    问题二
    当导出apk时,可能遇到下面的问题:
             Unable to find unity activity in manifest. You need to make sure orientation attribute is set to fullSensor manually.
          需在AndroidManifest中, 主 Activity的</activity>之前增加一行:

    <meta-data android:name="unityplayer.UnityActivity" android:value="true" />

    问题三
    删除AndroidManifest.xml 中app的主题,否则unity打包apk是关联的主题会报找不到错误,应该是有些库没打进去(有待研究)
    思考:能不能修正这个错误

    问题四
    删除生产的arr文件里的libs下的classes.jar,这个是之前从u3d中拷过去的,打包时会重新打进去,所以要删除,不删除打包会报错
    思考:打包时,能不能直接不打包这个classes.jar

    问题五
    一定要注意支持的版本:
     android:minSdkVersion="8"  
     android:maxSdkVersion="25"  

    问题六
    在 appuildoutputsaar 目录。 app-debug.aar 包 
    用解压软件打开这个包,删掉 libs 下的 classes.jar (没错,就是之前重unity中拷过来的) 
    因为unity打包时会重新把自带的 classes.jar 打进去,如果不删掉它会打包报错,冲突
    然后这就是最终需要的 aar 包

    问题七
    路径:
    Application.persistentDataPath   该路径等价于 /mnt/sdcard/Android/data/com.xys/files

    问题八
    APP图标,需要在Android的项目中设置

    问题九
    当Unity工程使用android:installLocation="preferExternal" 时,某些时候会出现
    Installation error: INSTALL_FAILED_CONTAINER_ERROR
    解决办法:
    修改为android:installLocation="auto" 即可

    问题十
    intent.putExtra("outputX", 600);
    intent.putExtra("outputY", 300);
    注:itent的传递有大小显示(40K?)所以,直接传递值出去会报错,
    解决方法:用url传递,不直接传递值

    问题十一
    Unable to list target platforms. Please make sure the android sdk path is correct. See the Console for more details.
    太高级的安卓SDK不行

  • 相关阅读:
    文本字符集转换
    添加HP消息队列
    fedora19/opensuse13.1 配置svn client
    前端html---介绍前端,标签,列表
    数据分析1
    项目流程
    git 使用
    mongo基础
    linux上面pycharm汉化
    pythonNet 09协程
  • 原文地址:https://www.cnblogs.com/workhai/p/6689344.html
Copyright © 2020-2023  润新知