• 开发腾讯移动游戏平台SDK Android版Ane扩展 总结


    本文记录了在开发 腾讯移动游戏平台SDK(MSDK) Android版Ane扩展 过程中所遇到的问题和相关解决方式

     问题一:编译报错:Unable to resolve target 'android-7':

    将低版本号的代码导入eclipse时,常遇到这种问题:Unable to resolve target 'android-XX'

    这是原代码中project.properties 的 Project target 设置与当前eclipse环境设置不一致所致。

    AVD(Android Virtual Device),是Android的模拟器。详细介绍和命令參数參照http://www.cr173.com/html/19430_1.html

    解决问题,仅仅要把project.properties文件用记事本打开,将 Project target.target=android-7 改为你当前支持的AVD版本号就可以

    一般 android-8 相应的android sdk 是2.2, android-10相应的是2.3

    问题二:android怎么改动gen里的包名?

    gen是依据你的应用程序包名自己主动生成的,不须要、也不能手动改动

    能够把应用程序的包名改掉,又一次编译下,就看到改动的效果

    名字在AndroidManifest.xml的package中,

    <manifestxmlns:android="http://schemas.android.com/apk/res/android"

       package="com.example.flipe"

    问题三:打包失败,原因之中的一个是xml代码不规范,xml凝视必须严格依照凝视符来凝视代码

    <!-- 凝视 -->

    假设写成这样,则编译时会报错

    <!-- 凝视 ------>

    问题四:生成的ane引入后调用sdk代码后无反应,或者出现闪退现象

    定位代码,是调用Activity窗口类时出错导致,但在android项目单独执行这个Activity时正常

    Intent intent = new Intent();

    intent.setClass(context.getActivity(),SDKActivity.class); //SDKActivity即我们自己定义的Activity

    context.getActivity().startActivityForResult(intent,0X01);

    后通过logCat打日志发现

    原因1:没有引入msdk中的一个so类库NativeRQD文件,把该文件打包放进apk后ok

    原因2:使用了实例中PlatformTest类,直接使用WGPlatform类则正常

    问题五:调用QQ登录,登录时接口OnLoginNotify报flag=-1错误

    原因是未配置网络文件,须要把assets目录里面的内容放到flash项目中打包进去

    问题六:怎样把android项目中res里面的资源文件打包进air公布的apk中?

    仅仅须要把res里面的资源文件放到ane Android-ARM目录下打包进ane,公布apk时会自己主动打包进apk中

    注意资源文件分三种:

    1、apk/assets文件能够放在air项目project文件下打包进apk

    2、apk/res文件能够放在ANE的打包目录中打包进ane

    3、其它位置文件就仅仅有打包apk后在反编译加入进去在打包签名

    问题七:ane项目中怎样读取res下的文件(air项目和android项目不同)

    例;drawable是res目录的子目录,sample_yuanbao是里面的文件名

    1、android项目:

        通过id获取, int resId = R.drawable.sample_yuanbao;

        Resources r =this.getContext().getResources();  //得到Resources对象

        Inputstream is = r.openRawResource( resId);  //以数据流的方式读取资源

    2、ane项目:

        方法一:

        int resId = cTContext.getResourceId("drawable.sample_yuanbao");

        Resources r =cTContext.getResources();  //得到Resources对象 

        Inputstream is = r.openRawResource( resId);  //以数据流的方式读取资源

        方法二:

        使用使用getIdentifier()获取资源Id

        getApplicationContext().getResources().getIdentifier(name, defType,defPackage)方法在ane中获取资源

    详情參见:http://blog.sina.com.cn/s/blog_6714fba701018k8h.html

    http://blog.csdn.net/lilu_leo/article/details/6654386

    问题八:怎样把so文件打包进apk中

    air项目:把公布的apk文件先用ApkTool工具(或者其它类似工具)解压,然后把so文件或其它资源文件加入进去,又一次打包、签名。

    android项目:http://blog.csdn.net/zeng622peng/article/details/6675281

    问题九:为何打包资源里面选择了apk文件,也无法打包进apk

    原因是flash builder工具打包时会过滤apk,即使选择了.apk文件还是会剔除掉,假设要把第三方apk文件打包进去,必须使用命令行方式打包。

    问题十:使用命令行打包apk时,假设获得release的swf文件?

    方法一,使用flash builder导出release版本号时,在生成temp目录后立马终止flash builder的公布过程,然后去temp目录中找;

    方法二,使用adt命令行公布swf

    问题十一:怎样方便的调试ane?

    1、用eclipse连接调试android手机程序(连上手机后,eclipse的 logCat里面能看到整个手机上的日志。偶尔看不到又一次启动一下就能够)

    2、用xcode连接调试ios手机程序(XCode的顶部工具栏->Window菜单->Organizer项开启Organizer窗体,选中要用于调试的设备连接 mac .就能够看到具体日志了。)


    【原文链接:http://blog.csdn.net/linguifa/article/details/25832011/  转载请注明出处】

  • 相关阅读:
    比特币节点同步问题
    Vue用axios跨域访问数据
    vue之vue-cookies安装和使用说明
    vuejs目录结构启动项目安装nodejs命令,api配置信息思维导图版
    使用以太坊智能合约实现面向需要做凭证的企业服务帮助企业信息凭证区块链化
    将任意文件写入以太坊区块的方法,把重要事件,历史事件,人生轨迹加密记录到区块链永久封存
    Linux下几种重启Nginx的方式,找出nginx配置文件路径和测试配置文件是否正确
    php小数加减精度问题,比特币计算精度问题
    Fabric架构:抽象的逻辑架构与实际的运行时架构
    国外互联网大企业(flag)的涨薪方式
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4234681.html
Copyright © 2020-2023  润新知