android ge模拟器,在Android模拟器上的一些小陷阱
从Android SDK R17开始,模拟器就支持OpenGL ES 2。如果能让KlayGE在模拟器上跑起来,开发和测试就能方便许多。于是我装了最新的R21和Android 2.1的ARM v7a的镜像,经过几个小时的努力,终于成功执行了一些原来能在Android x86 2.3上跑的简单例子。途中发现了一些小陷阱,这里总结一下。
屏幕宽高
原先我的做法是通过ANativeWindow_lock获得buffer,再拿buffer的width和height。在ICS上,这么做会导致后面eglCreateWindowSurface失败。原因似乎是ANativeWindow_lock之后这个窗口就被连到2D API,那么在eglCreateWindowSurface的时候就会说那个窗口已经被别的API连接了。即便是ANativeWindow_unlockAndPost也没用。解决方法是改成用ANativeWindow_getWidth和ANativeWindow_getHeight。原先这两个函数总返回0,现在似乎好了,其实用起来更方便。
glDeleteShader
原先我的习惯都是在glAttachShader之后就立刻调用glDeleteShader,因为GLES的文档中有一句话:
If a shader object to be deleted is attached to a program object, it will be flagged for deletion, but it will not be deleted until it is no longer attached to any program object…
但模拟器的实现似乎没遵守这点。如果delete了,后面的glGetAttribLocation都会返回-1,所有attrib都不存在了。所以也得去掉glDeleteShader。
缺少wchar_t的完整支持
这是一直存在的问题。 Bonic 2.3对wchar_t的系列函数也没做到完整支持。最恶心的是mbstowcs和wcstombs,内部只是memcpy了一下,根本没有转码。。。原先一直用Crystax的NDK,没这个问题,转回官方的NDK以后直接悲剧了。
android ge模拟器,在Android模拟器上的一些小陷阱相关推荐
- python unpacking_Python在unpacking上的一个小陷阱
在Python中,交换两个变量的值很方便: a, b = b, a 同样的,对于列表也简单直接: a[i], a[j] = a[j], a[i] 至此都很trivial.但是请看下面这个交换: j = ...
- 在PC上安装Android SDK与Android模拟器 - 使用Android Studio 3.1.1
一. 前言 最近重新安装了一下Android环境,发现现在已经在Google官网找不到独立的Android SDK可以下载了,而网上的其它教程比较旧,还是描述怎么SDK Manager里设置使用国内的 ...
- BlueStacks模拟器:多平台上运行Android应用
BlueStacks模拟器:多平台上运行Android应用http://www.csdn.net/article/2012-08-16/2808708 手机智能化的快速发展使得移动操作系统和桌面操作系 ...
- Mac上搭建Flutter开发环境(Android模拟器和IOS模拟器开发)
前言 最近公司要求使用跨平台语言开发新的应用,这几天也对比了ReactNative和Flutter,最终决定入坑Flutter,今天刚配置完Flutter的开发环境,Flutter中文网也有相应的安装 ...
- android7.0模拟器调试,android - 为什么在android 7.0及更高版本上出现模拟器错误? - 堆栈内存溢出...
我正在开发将联系人保存在.vcf文件中的应用程序. 当我运行模拟器来测试应用程序时,我还会收到以下错误. 应用程序正在物理设备上运行. 但是android 7.0及更高版本的模拟器也给出了错误. (警 ...
- 【Android开发】在Android Studio上关联使用第三方模拟器(MuMu模拟器)调试方法
Android Studio自带的模拟器不用我说了吧,卡出翔,那么如何换成其他模拟器呢?不多说,方法如下: 一.找到自己SDK的安装目录 比如我的SDK是安装在:D:\53-AndroidStudio ...
- Android连接不上第三方模拟器(夜神模拟器、海马模拟器、逍遥模拟器、Mumu模拟器)
在IDE(Android Studio.VsCode等)的终端配置adb命令即可: connect 127.0.0.1:62001 例如在Android Studio中:连接夜神模拟器: 其它模拟器使 ...
- 逍遥android模拟器设置,逍遥安卓模拟器最佳设置电脑上玩手游流畅不卡多开更好用...
电脑上玩腾讯手游使用哪个手游模拟器助手软件?对于目前大部分用户来说适合自己电脑情况的才是最好用的.大部分想在电脑上使用手游模拟器的用户要么是为了手游挂机方便,要么就是为了能够使用鼠标键盘大屏幕更好的操 ...
- Android模拟器运行MIUI,电脑上玩小米枪战吃鸡手游 逍遥安卓模拟器设置教程
原标题:电脑上玩小米枪战吃鸡手游 逍遥安卓模拟器设置教程 电脑上玩小米枪战手游,和绝地求生一样吃鸡的手游,使用逍遥安卓模拟器,电脑上大屏幕鼠标键盘操控,比手机屏幕更大,操作更爽. 首先你需要在逍遥安卓 ...
最新文章
- 从言行合一到知行合一
- python2x NameError: name ‘abc‘ is not defined
- 模拟电梯2.0(继承机制实验)
- 在虚机上安装WIN2003
- java参数传入的是一个类名_Java编程细节——泛型的定义(类、接口、对象)、使用、继承...
- 每日一题(50)—— 各类型与零值的比较
- 现代软件工程 - 期末评比及作业要求
- Qt工作笔记-QSplitter的使用(老版本里面发现的神控件在新版本内使用)
- 数据库设计技巧系列(二)——设计表和字段
- 大学计算机科学计术的总结,学好大学计算机科学与技术 要注意当天小结
- mybatis list为入参_Mybatis进阶学习
- android状态栏自定义,如何自定义Android状态栏颜色
- coreldraw铺花纹_Coreldraw绘图实例教程,教你cdr环形花边绘制方法
- 学c语言前要学计算机导论吗,计算机导论与C语言
- pdf转换成jpg python_怎样利用python将pdf转换成jpg格式
- 号外:Axure导入有了!思维导图也正式上线了!
- dialog 刘海屏、水滴屏、全面屏 全屏显示
- python+sklearn实现决策树模型
- phpems考试系统如何处理word txt题库并导入系统
- python如何分割年月日_将日期拆分为年、月和日,分隔符不一致
热门文章
- Linux进入单用户模式(passwd root修改密码)
- MongoDB 基础教程CURD帮助类
- 上下文管理、线程池、redis订阅和发布
- TFS2013 微软源代码管理工具 安装与使用图文教程
- OUR D3.JS 数据可视化专题站(转)
- Java多线程系列--“JUC原子类”03之 AtomicLongArray原子类
- 三层着装概念 ,是户外着装的基本要求
- CBitMap的用法 from http://www.cnblogs.com/toconnection/archive/2012/08/04/mfc.html
- Codeforce C. Buns
- 谈表达式树的缓存(7):五种缓存方式的总体分析及改进方案