
android
文章平均质量分 77
gameSummer
这个作者很懒,什么都没留下…
展开
-
【cocos2d-x 手游研发小技巧(4)与Android混编实现换“头像图片”】
原文地址:http://www.cnblogs.com/zisou/p/cocos2dxJQ.htmlcocos2dx在android平台上的游戏开发中往往会遇到一些混编需求,如:比方有的社区类游戏需要用到更换玩家的“头像”操作,其实就是调用android servers服务里面的本地图片,以及选取,裁剪图片,裁剪完成往服务器上传图片功能,从而达到换用户头像的操作的功能转载 2014-03-18 18:29:13 · 1152 阅读 · 0 评论 -
NDK so库的调用和编译
NDK动态库的调用分两种情况。第一种是:so库和调用程序在同一个目录和源程序 通过同一个mk文件来编译;另外一种情况是so是外部已经编译好了的,调用程序加载调用。(博主:这两种其实是一样的,没有任何区别 -v-)下面我们就来分析下面2种so的调用情况:第一部分: 内部so调用 A. 先看下工程的目录:转载 2014-12-01 18:32:07 · 1134 阅读 · 0 评论 -
基于 Android NDK 的学习之旅----- C调用Java
许多成熟的C引擎要移植到Android 平台上使用 , 一般都会 提供 一些接口, 让Android sdk 和 jdk 实现。下文将会介绍 C 如何 通过 JNI 层调用 Java 的静态和非静态方法。 1、主要流程1、 新建一个测试类TestProvider.javaa) 该类提供了2个方法b) 一个静态的方法,一个非静态的方法2、转载 2014-12-02 17:07:18 · 536 阅读 · 0 评论 -
NDK中 .so文件的无法加载
总结:1).so文件要以lib开头,如libJNITest.so2).so文件要放在Android工程目录下的libs\armeabi下3)用loadLibrary或load加载a) 用loadLibrary调用的时候需要去掉lib前缀 System.loadLibrary("JNITest"); b) 用load调用的时候需要写全路径名 且不能去掉lib前转载 2014-12-03 17:02:59 · 929 阅读 · 0 评论 -
android 加载 动态库问题
当需要将第三方代码加入我们的android工程时,或者为了增加反编译难度等原因需要编译动态库.so文件,就要注意以下几点:首先是编译出.so ,这时其实也可以编译成静态库然后链入最终的.so中。编译.so需要在android工程的jni中放入源文件(gcc,clang对纯C语法的检查很不严格啊?好多C语法错误是在win下编译才发现的,所以最好好好检查,以防今后使用中出现奇怪原创 2014-12-03 18:55:08 · 1004 阅读 · 0 评论 -
pvr与png的内存占用
pvr与png的内存占用 转载▼ Zwoptex生成的spritesheet除了可以导出png格式的图片外还有pvr格式。pvr格式是iOS的显示芯片可以直接读取的,不需要经过解析就能直接显示,所以渲染速度更快,更节省内存。我特意在cocos2D 2.0 rc1版本做了一项测试: 一个空的cocos2D模版工程运行起来之后占用的内存大约是4MB转载 2015-01-30 11:13:12 · 1112 阅读 · 0 评论 -
freetype 使用小结
FreeType是一个完全开源的、可扩展、可定制且可移植的字体引擎,它提供TrueType字体驱动的实现统一的接口来访问多种字体格式文件,包括点阵字、TrueType、OpenType、Type1、CID、CFF、Windows FON/FNT、X11 PCF等。FreeType函数库具有以下特点:(1)它使得客户应用程序可以方便地访问字体文件,无论字体文件存储在哪里,并且转载 2014-12-09 18:31:12 · 4226 阅读 · 0 评论 -
关于cocos2dx中文转UTF8码的解决方案
文章转载请注明出处:作者帘卷西风的专栏(http://blog.youkuaiyun.com/ljxfblog)cocos2dx支持中文显示,只要将中文字符转换成UTF-8字符集就可以正常显示,不过在实践上还是会出现很多问题会困扰开发者。通常来说,目前的解决方案有以下几种:1、把代码文件(.h/.cpp/.lua等)的文件编码格式改成UTF-8格式即可,这对于单机游戏来说是很好转载 2014-12-09 18:32:17 · 1411 阅读 · 0 评论 -
armeabi与armeabi-v7a
在我们android APK的根目录有一个 libs文件夹,此文件夹下包含了armeabi 和armeabi-v7a两个文件夹,我们的c代码编译成的本地库(各种.so)就会放在这两个文件夹其中的一个。那armeabi-v7a 与 armeabi有什么区别,都是什么意思呢? armeabi和armeabi-v7a是表示cpu的类型,我们知道一般的手机或平板都是用arm的cpu(mips转载 2014-12-25 15:32:38 · 1231 阅读 · 0 评论 -
Android开发--Intent-filter属性详解
如果一个 Intent 请求在一片数据上执行一个动作, Android 如何知道哪个应用程序(和组件)能用来响应这个请求呢? Intent Filter就是 用来注册 Activity 、 Service 和 Broadcast Receiver 具有能在某种数据上执行一个动作的能力。使用 Intent Filter ,应用程序组件告诉 Android ,它们能为其它程序的组件的动作请转载 2014-12-26 14:22:27 · 807 阅读 · 0 评论 -
android Application类的详细介绍
在代码中经常看到application这个类,一直不知道这个是干什么用的,今天刚好有点时间,所以进行了详细的学习。一.先对它的整体概念解释:在android源码中对他的描述是; * Base class for those who need to maintain global application state. You can * p转载 2014-12-26 11:40:39 · 624 阅读 · 0 评论 -
Cocos2d-x下使用iconv库
原文:http://blog.youkuaiyun.com/alex_my/article/details/10567541近来在客户端搭建打包APK的环境,以及解决中文乱码问题。网上找了很多资料,但总是各种不详细,非常麻烦。因此在这里把自己的过程详细记录下,如果有哪步不详细,请留言。 客户端使用的是cocos2d-x-2.0.4,是一个比较老的版本了。使用cygwin和eclipse交叉编转载 2014-12-10 11:26:53 · 1040 阅读 · 0 评论 -
targetSdkVersion和与target属性的区别
注:文本转载于:http://usenrong.iteye.com/blog/1488503AndroidMenifest.xml中targetSdkVersion和project.properties中的target属性的区别 在AndroidMenifest.xml中,常常会有下面的语句: 在project.properties中,会看到下面的语句:转载 2014-12-26 14:49:07 · 1013 阅读 · 0 评论 -
安卓反编译揭秘(爱加密系列教程十一)伪加密APK文件被破坏
1. 源码混淆 如上图,对Android APP的源码进行混淆后混淆器将代码中的所有变量、函数、类的名称加密为简短的英文字母代号,在APP被破解后增加破解者对代码的阅读难度。 但是混淆的功效只能运作在APP已经被破解后,而且只是增加破解者的难度时间,对其防止破解的作用意义不是很大。 2. 反工具破解之伪加密转载 2014-12-11 18:23:21 · 2338 阅读 · 0 评论 -
Android: NDK编程入门笔记-编译.so
原文:http://www.cnblogs.com/hibraincol/archive/2011/05/30/2063847.html为何要用到NDK?概括来说主要分为以下几种情况:1. 代码的保护,由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大。2. 在NDK中调用第三方C/C++库,因为大部分的开源库都是用C/C++代码编写的。3. 便于转载 2014-12-01 18:27:36 · 850 阅读 · 0 评论 -
Android 安卓使用C/C++静态库/动态库指南
原文:http://blog.youkuaiyun.com/luofl1992/article/details/8663171目前我在做HM(HEVC测试软件)移植到Android平台,在移植过程中出现了一些问题,顺便记录下来,供大家分享。也让大家在出现问题是能够有一个参照。这些天忙着调试程序中出现的BUG,没有来得及更新。移植HM详细请看另外一篇日志:http://blog.cs转载 2014-12-01 17:38:17 · 3270 阅读 · 0 评论 -
android 集成第三方静态库的编译方法
原文:http://blog.youkuaiyun.com/lizhiguo0532/article/details/7219349最近为java层将一个静态库通过jni层封装成了一个动态库工他们调用,遇到了一些编译上的疑惑,所以索性将其彻底搞清楚算了,免得以后误事。 下面的图片列出了所有相关文件,可以看到引用静态库的文件是com_xxx.cpp文件转载 2014-12-01 17:40:37 · 993 阅读 · 0 评论 -
一个2048游戏的第二版
这是自己实现的网上一个很火的游戏《2048》,虽说创意是抄袭人家的吧,但是其中也有不少难点,也小小的费了一番功夫。首先就是cocos2d-x引擎使用的还不狠熟练,好多地方本来一个函数就解决了的,结果自己查来查去调用了一堆函数也没实现。幸好学习资料很多,学习起来还算容易吧。第二个难点就是游戏规则了,仔细观察后按照自己的想法试了一下,可能算法比人家复杂,但是功能基本都实现了,大家可以参考下原创 2014-03-18 23:10:37 · 2482 阅读 · 0 评论 -
Flurry使用初级教程
关于Flurry的个人观点总结:1.免费。可以收集用户的分布信息,用户对不同功能的使用频率,用户手机上的具体功能的执行信息(比如某按钮响应的执行时间)。并提供一些分析并以图表的方式显示出来,比如执行时间分布区间直方图,平均执行时间等等。2.需要在网页上查看数据分析,刷新时间很慢。比如在你的程序执行后大约2个小时以上才能在网页上显示出来(Google Analytics 更是要24h转载 2014-08-19 17:36:34 · 1225 阅读 · 0 评论 -
JNI学习
JNI是在学习Android HAL时必须要面临一个知识点,如果你不了解它的机制,不了解它的使用方式,你会被本地代码绕的晕头转向,JNI作为一个中间语言的翻译官在运行Java 代码的Android中有着重要的意义,这儿的内容比较多,也是最基本的,如果想彻底了解JNI的机制,请查看:?http://docs.oracle.com/javase/1.5.0/docs/guide/jni转载 2014-09-19 12:02:05 · 762 阅读 · 0 评论 -
AlarmManager研究
原文:http://blog.youkuaiyun.com/codefly/article/details/17058425AlarmManager研究侯 亮 1.概述 在Android系统中,闹钟和唤醒功能都是由Alarm Manager Service控制并管理的。我们所熟悉的RTC闹钟以及定时器都和它有莫大的关系。为了便于称呼,我常常也把这个转载 2014-09-19 15:26:10 · 785 阅读 · 0 评论 -
AlarmManager类的应用(实现闹钟功能)
原文:1、AlarmManager,顾名思义,就是“提醒”,是Android中常用的一种系统级别的提示服务,可以实现从指定时间开始,以一个固定的间隔时间执行某项操作,所以常常与广播(Broadcast)连用,实现闹钟等提示功能2、AlarmManager的常用方法有三个:(1)set(int type,long startTime,PendingIntent pi);转载 2014-09-19 16:48:53 · 808 阅读 · 0 评论 -
android进程与线程详解一:进程
原文当一个应用的组件开始运行,并且这个应用没有其它的组件在运行,系统会为这个应用启动一个新的Linux进程,这个进程只有一个线程.默认情况下,一个应用的所有组件都运行在一个进程和线程(主线程)中.如果一个应用的组件开始运行,并且已经存在这个应用的线程了(因为这个应用的另一个组件已经运行了),于是这个组件就会在这个已有的进程中启动并且运行在同一线程中.然而,你完全可以安排不同的组件运行于不同转载 2014-09-26 12:00:08 · 503 阅读 · 0 评论 -
Activity、Task、应用和进程
Activity、Task、应用和进程 很想弄清楚启动一个Activity和Task(任务)的关系,网上也有很多相关资料,由从源码来具体分析的,也有针对launchmode来分析,但都不是自己的,理解起来总不是那么容易,为此,尝试着自己去理解其中的逻辑。不过事先需要弄清楚两个问题:谁负责管理Activity?Android的framework框架中采用C/S的方式实转载 2014-09-26 15:34:44 · 719 阅读 · 0 评论 -
android进程与线程详解三:AsyncTask
AsyncTask使你可以在你的界面上执行异步工作。它在一个工作线程中执行耗时操作然后把结果传给界面线程,不需要你亲自去管理线程和句柄。要使用它,你必须从AsyncTask派生一个类并实现回调方法doInBackground(),此方法在一个后台的线程池中运行。要更新你的界面,你应实现onPostExecute(),它把doInBackground()的结果弄过来并在界面线程中转载 2014-09-26 12:00:33 · 650 阅读 · 0 评论 -
android进程与线程详解四:线程安全和进程间通信
线程安全 在某些情况下,你实现的方法可能会在不同的线程中调用,所以它们必须被实现成“线程安全的”。 这首先体现在可以远程调用的方法上—比如在boundservice中的方法。当在一个进程中调用同一个进程中的IBinder上所实现的方法时,这个方法会在调用者的线程中运行(IBinder不理解的看这里:http://blog.youkuaiyun.com/nkmnkm/ar转载 2014-09-26 12:01:10 · 790 阅读 · 0 评论 -
android进程与线程详解二:线程
线程当一个应用被启动,系统创建一个执行线程,叫做"main"。这个线程是十分重要的,因为它主管向用户界面控件派发事件。其中包含绘图事件。它也是你的应用与界面工具包(android.widget和android.view包中的组件)交互的地方。于是main线程也被称为界面线程。系统不会为每个组件的实例分别创建线程。所有运行于一个进程的组件都在界面线程中被实例化转载 2014-09-26 12:01:28 · 588 阅读 · 0 评论 -
Android任务、进程、线程详解
任务、进程和线程 关于Android中的组件和应用,之前涉及,大都是静态的概念。而当一个应用运行起来,就难免会需要关心进程、线程这样的概念。在Android中,组件的动态运行,有一个最与众不同的概念,就是Task,翻译成任务,应该还是比较顺理成章的。Task的介入,最主要的作用,是将组件之间的连接,从进程概念的细节中剥离出来,可以以一种不同模型的东西进行配置,在很多时候,能够简化上层转载 2014-09-26 12:04:57 · 662 阅读 · 0 评论 -
Mac 下设置android NDK的环境
.bash_profile 文件内容:export PAHT=$PATH:/Users/work/dev_app/adt-bundle-mac/sdk/toolsexport PATH=$PATH:/Users/work/dev_app/android-ndk-r8c/ANDROID_NDK_ROOT=/Users/work/dev_app/android-ndk-r8c/ex转载 2014-09-25 10:37:13 · 830 阅读 · 0 评论 -
cocos中tinyxml在android下的问题
在ios_mac中 读取xml时会这么写: tinyxml2::XMLDocument configXML; std::string path = FileUtils::getInstance()->fullPathForFilename("maps/maps.xml"); CCLog("liujianlog : %s " ,path.c_str());原创 2014-11-27 10:42:37 · 1590 阅读 · 1 评论 -
Android开发:Handler Runnable和Thread之间的区别和联系 应用--------------------看完本篇,从此一览无余!
在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限。下面看例子:package org.thread.demo; class MyThread exte转载 2015-01-19 17:13:15 · 602 阅读 · 0 评论