-
安卓原生应用开发!一起刷完了这份1307页的安卓面试宝典吧,值得收藏!
2021-02-23 11:19:44当时需要开发横竖屏直播/异步视频的场景,就研究下了市场上的 app,发现输入弹幕的交互并不友好。最直接的体验就是,微信比绝大部分IM软件在聊天场景下输入法与表情面板频繁切换时表现得更为平滑,不会给用户很突兀...起因
事情是这样的。
4年前毕业那会,呆在公司的短视频项目,做 视频。那会做得比抖音还早,但是由于短视频太烧钱了,项目被公司关掉了。当时需要开发横竖屏直播/异步视频的场景,就研究下了市场上的 app,发现输入弹幕的交互并不友好。最直接的体验就是,微信比绝大部分IM软件在聊天场景下输入法与表情面板频繁切换时表现得更为平滑,不会给用户很突兀的闪烁感。但我们除了适配竖屏,们还需要兼容横屏/满屏/沉浸等场景。
摸索了一段时间之后,做出来的效果挺不错,比市面上的直播/异步视频播放场景下的输入交互体验都要好。于是写了个记录的 Blog Android -SystemUI的那点事 。主要是将如何设计横竖屏直/点播场景下良好的输入交互。但是文章并没有写完… 留了横屏模式下使用 PopupWindow 来实现的悬念… 本打算继续接着写第二篇。结果一拖,就是三年。
而在这三年里,前后参与开发了十多个项目(我们是流水线生产,老工具人),而涉及到输入交互的模块已经有IM聊天,直播间,异步视频播放页面,信息流评论等等。这些页面从最初使用 Activity 实现到演化成可用 Fragment,Dialog,PopupWindow 代替。所以原来那套技术实现已经不能满足。在寻找外部开源项目/技术博文无果的前提下,慢慢积累了一个库
基于Linux的pc启动过程
我们都知道,所有的程序软件包括操作系统都是运行在内存中的,然而我们的操作系统一般是存放在硬盘上的,当我们按下开机键的时候,此时内存中什么程序也没有,因此需要借助某种方式,将操作系统加载到内存中,而完成这项任务的就是 BIOS 。
装过系统的人一定知道BIOS这个东西,那么它究竟是什么呢?
BIOS:Basic Input/Output System(基本输入输出系统),在IBM PC兼容系统上,是一种业界标准的固件接口(来自维基百科)。有点难以理解,其实BIOS是我们电脑启动时加载的第一个程序,这个程序不是由Java语言编写也不是由C语言编写,一般是汇编程序。
BIOS程序固化在主板上的一块芯片上,是连接计算机硬件与操作系统的桥梁,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序。
那么问题来了,BIOS程序又是怎么启动的?BIOS的启动,是由硬件完成的,Intel 80x86系列的cpu的硬件都设计为加电(即开机瞬间)就进入16位实模式状态运行,此时将cpu的硬件逻辑设计为强行将CS的值设置为0xFFFF,IP的值设置为0x0000,这样CS:IP就指向了0xFFFF0这个位置,而这个位置就是BIOS程序的入口地址。
因此这是一个硬件厂商之间的约定,所有的BIOS程序入口地址均为0xFFFF0,这样在开机的时候,就找到这个地址,如果该地址并没有代码段,那么计算机将会死机,如果这个地址处有代码段,将会执行这个代码段,并由此执行下去,即BIOS程序开始启动。
补充:
**CS:**代码段寄存器,存在于CPU中,指向CPU当前执行代码在内存中所在的区域。
**IP:**指令寄存器,存在于CPU中,记录将要执行的指令在代码段内的偏移地址,与CS组合即为将要执行的指令的内存地址。当BIOS程序启动时,就会检测硬件设备,比如我们的显卡、内存等信息。BIOS会在内存中建立中断向量表和中断服务程序。中断向量表中有256个中断向量,每个中断向量占4个字节,每个中断向量指向一个中断服务程序,这些中断服务程序完成了将操作系统由硬盘加载到内存中的任务.
基于linux的操作系统而言,计算机将分三批逐次加载操作系统的代码,第一批由BIOS中断int 0x19将 第一扇区bootsect的内容加载到内存;第二批和第三批在bootsect的指挥下,分别加载后面扇区的内容到内存中。**经过执行一系列的BIOS代码后,计算机完成了自检等操作,**计算机硬件体系会与BIOS联合操作,让cpu接收到一个int 0x19中断,cpu接收到这个中断后,会立即在中断向量表中找到int 0x19中断向量,此时会找到对应的中断服务程序,并由该中断服务程序将硬盘中第一个扇区的引导程序加在到内存中的指定位置。
**随后,在引导程序的作用下,陆续将操作系统的其他程序载入内存,**完成实模式到保护模式的转变,为执行操作系统的入口函数main做准备,后面就是操作系统的初始化工作了,最后完成计算机的启动。
Android手机的启动过程
Android系统虽然也是基于linux系统的,但是由于Android属于嵌入式设备,并没有像pc那样的BIOS程序。
取而代之的是Bootloader ——系统启动加载器。它类似于BIOS,在系统加载前,用以初始化硬件设备,建立内存空间的映像图,为最终调用系统内核准备好环境。
在Android里没有硬盘,而是ROM ,它类似于硬盘存放操作系统,用户程序等。ROM跟硬盘一样也会划分为不同的区域,用于放置不同的程序,在Android中主要划分为一下几个分区:
- /boot:存放引导程序,包括内核和内存操作程序
- /system:相当于电脑c盘,存放Android系统及系统应用
- /recovery:恢复分区,可以进入该分区进行系统恢复
- /data:用户数据区,包含了用户的数据:联系人、短信、设置、用户安装的程序
- /cache:安卓系统缓存区,保存系统最常访问的数据和应用程序
- /misc:包含一些杂项内容,如系统设置和系统功能启用禁用设置
- /sdcard:用户自己的存储区,可以存放照片,音乐,视频等文件
那么Bootloader是如何被加载的呢?我们可以想到,应该跟pc一样,当开机加电的时候,cpu会从cpu制造厂商预设的地址上取指令,这个地址是各厂商约定俗称的,类似于上面80x86架构里的0xFFFF0地址,因此Android手机会将固态存储设备ROM预先映射到该地址上,当开机加电的时候,cpu就会从该地址执行/boot分区下的Bootloader程序,载入linux内核到RAM中。
当linux内核启动后会初始化各种软硬件环境,加载驱动程序,挂载根文件系统,并开始执行根文件系统的init程序,init程序是Android启动过程中最重要的核心程序。
init进程是Android系统中用户进程的鼻祖进程。init进程会启动各种系统本地服务,如:Media Server、Service Manager、bootanim(开机动画)等。init进程会在解析init.rc文件后fork出Zygote,而Zygote是所有Java进程的父进程,我们的App都是由Zygote fork出来的。
Zygote进程主要包含:- 加载ZygoteInit类,注册Zygote Socket服务端套接字;
- 加载虚拟机;
- 预加载Android核心类
- 预加载系统资源
随后Zygote进程会fork出System Server进程,System Server进程负责启动和管理整个framework,包括Activity Manager,PowerManager等服务。
当System Server将系统服务启动就绪后,就会通知ActivityManager启动首个Android程序Home即我们看到的桌面程序。
至此,从Android手机开机到看到桌面程序所有过程分析完了。
最后
文章所有资料全部已经打包整理好,免费分享给有需要的人,另外小编手头上整理了大量Android架构师全套学习资料,Android核心高级技术PDF文档+全套高级学习资料+视频+2021 BAT 大厂面试真题解析,都是免费分享给大家的,全部都已整理在GitHub上,有需要的朋友可以点击前往领取更多。
资料展示:
链图片转存中…(img-IvmGmbpD-1614050370242)]
[外链图片转存中…(img-ZdRIgqdd-1614050370244)]
-
详细讲解如何安装原生安卓电子市场(android market)
2012-04-12 11:45:45由于rom没有自带电子市场(android market),国内厂商考虑到电子市场(android market)在大陆地区使用难度大,所以干脆直接阉割掉了,但是有些应用还真需要在电子市场(android market)下载更新。下面我将详细讲解如何...最近刷了android4.0版本。由于rom没有自带电子市场(android market),国内厂商考虑到电子市场(android market)在大陆地区使用难度大,所以干脆直接阉割掉了,但是有些应用还真需要在电子市场(android market)下载更新。下面我将详细讲解如何安装原生电子市场(android market)。
首先,你需要确认两项内容。一、手机是否root过了。二、手机是否安装了谷歌服务框架(Google Service Framework)。
如果手机没有root,可以用superclick one进行一键root.具体操作过程还是Google一下吧,需要各位根据自己的版本号进行对应操作,有的不需要电脑即可操作。
检查手机安装谷歌服务框架(Google Service Framework),在应用程序中查看。如下图。
如果没有安装,请到这里下载。反正我4.0版本是可以用的。如果2.x版本不能用请留言告知。下载后安装会开始联机同步,gmail什么的。
然后下载电子市场(android market)。目前是最新版本3.4.4。http://115.com/file/an93xucq
最后下载root explorer.需要申请root权限。地址:http://115.com/file/c24n3wwp
准备工作结束。
第二步
将下载好的电子市场(android market)的apk程序改名为 Vending.apk 。用root explorer复制到 system/app/ 里面。注意要把写的权限打开。点击R/W
然后更改权限。如图所示。第一纵行全选,第二纵行选第一个。
这时候系统会自动安装电子市场(android market)。如果没自动安装,将机器重启。重启后应该会自动安装。切记不要直接安装。因为系统应用的权限高于用户应用权限,而电子市场(android market)需要系统权限。
之后就会出现电子市场(android market)了。登录后就可以使用了。如果想访问美国的应用商店,直接下载market enabler.将自己的服务商设为verizon 或者t-Mobile.嗯。就这么简单。
Faq:
1.点击电子市场后无错误提示闪退。
答:没有安装谷歌框架服务。
2.点击电子市场后显示android.com.Vending 错误,已停止。
答:直接安装电子市场,而没有按上述步骤操作。
3.电子市场里点一些应用无法显示怎么办?
答:检查你的网络,确定没有问题后,请连接代理或vpn。
>>原创文章如转载,请注明:转载自卓非博客
>>本文链接地址:http://jophy.me/2012/02/how-to-install-original-google-market-in-detills.html -
cocos creator 安卓原生平台环境_30+顶级互联网公司高薪诚聘 Cocos 人才
2020-12-30 12:30:26除了游戏之外,近年来,Cocos 被应用于越来越多的领域,例如数字娱乐、数字文创、在线教育、虚拟展会、电商等等。Cocos 人才在市场上也拥有更多的就业选择空间,各大招聘网站上,Cocos 岗位需求持续上升。今日,C姐...除了游戏之外,近年来,Cocos 被应用于越来越多的领域,例如数字娱乐、数字文创、在线教育、虚拟展会、电商等等。
Cocos 人才在市场上也拥有更多的就业选择空间,各大招聘网站上,Cocos 岗位需求持续上升。今日,C姐为大家收集了近期国内知名互联网企业的热招岗位,按先后顺序,分别推荐在线教育类、视频类、文创内容类、电商类和游戏类公司,欢迎各位千里马投递简历!
暂时不找新工作,也可以看看当前市场都有哪些新的技能需求呢!
好未来
Cocos Creator 负责人
30k-60k /北京 / 经验5-10年
工作职责:
1.基于 Cocos Creator 框架,使用 JS 或 TS 进行 H5 小游戏的独立开发;
2.与交互、视觉、动效、测试密切合作,共同开发高质量的游戏;
3.保证代码质量与效率,分析解决开发过程中出现的各种问题。任职资格:
1.五年以上 Cocos Creator 游戏开发经验,熟练使用 JS 或 TS 编程,有完整上线 H5 项目优先;
2.具有面向对象,数据结构,设计模式相关知识;
3.熟悉 TCP/IP/WebSocket/HTTP 等网络通信技术;
4.熟悉 html/css 等前端技术者优先;
5.熟悉物理引擎,有应用物理引擎的作品优先;
6.学习能力强,有持续学习新技术者优先。应聘链接:
https://www.lagou.com/jobs/7280155.html
VIPKID
Cocos Creator 开发工程师
20-40K/北京/经验1-3年
岗位职责:
1.使用 Cocos Creator 开发互动内容;
2.设计网络消息完成操作同步逻辑;
3.构建 build 并制作相关工具提高效率。任职要求:
1.大学计算机相关专业本科历及以上;
2.熟悉 Cocos Creator,会使用 Cocos Creator 制作内容编辑工具;
3.精通 JavaScript,熟悉 web 开发相关技术;
4.熟悉图形学中各种概念,可以给出优化效率和内存的方案;
5.熟悉客户端-服务器工作方式,有好的网游开发意识;
6.学习能力强,可阅读英文文档。应聘链接:
https://www.zhipin.com/job_detail/dfeab0d5f7b183fe33R629-8FVM~.html
核桃编程
Cocos Creator 开发工程师
20k-30k /北京 / 经验3-5年
岗位职责:
1.负责 H5 游戏前端应用逻辑的编写,使用 Cocos Creator 引擎开发;
2.与项目组美术/策划人员深入沟通,准确实现开发需求;
3.能够和后台工程师配合,实现前端和服务程序的数据交换功能;
4.与测试人员配合,了解并解决产品中存在的问题,对产品细节能有很好的把握;
任职要求:
1.本科及以上计算机相关专业学历,3年以上工作经验,具有移动游戏开发经验优先;
2.有全面的 JavaScript 编程开发技能,使用 Cocos Creator游戏开发引擎上线过多款游戏;
3.精通面向对象开发模式,精通组件化编程模式,熟悉 OpenGL/WebGL/Canvas 渲染;
4.熟悉常用通讯与交互;熟悉 AJAX/WebSocket/Socket 等各种通信方式;
5.具有原生游戏开发经验,熟练使用 C/C++/OC/Java 语言,并精通游戏与平台 iOS/Android 的交互;
6.具有良好的游戏框架设计能力与性能调优能力;
7.有规范的编程风格和良好文档习惯;
8.能承受工作压力,有独立开发能力,有团队合作精神。
应聘链接:
https://www.lagou.com/jobs/7300815.html
乐学在线
Cocos Creator 开发工程师
20k-35k /北京 / 经验3-5年
岗位职责:
1.负责 H5 幼儿教学动画产品前端研发;
2.根据项目需求,进行页面游戏程序设计及开发工作;
3.与项目组策划、设计人员共同讨论开发需求及设计游戏实现细节,保证产品质量和进度;
4.配合项目经理和设计师实现页面操作交互效果及其它特效动画;
5.保证页面效果的实现与主流移动设备的兼容。
任职要求:
1.计算机相关专业本科及以上学历,2年以上 H5 游戏工作经验,有完整项目经历优先;
2.熟悉 Cocos Creator 引擎优先,熟悉 TCP/IP、WebSocket、HTTP 等网络通信技术;
3.熟悉 JavaScript、TypeScript 语言,熟悉 HTML5 及 CSS,具有良好的面向对象编程的思想;
4.了解 iOS 和 Android 移动平台 Web 开发技术标准。
应聘链接:
https://www.lagou.com/jobs/7244982.html
完美世界
Cocos Creator 工程师
20k-40k /北京 / 经验3-5年
岗位职责:
1.使用 Cocos Creator 开发教育游戏与互动课件;
2.负责与产品、美术、后端讨论开发需求及实现细节;
3.负责具体的系统功能与游戏课件的开发;
4.持续优化产品性能、功能逻辑和用户体验。
任职要求:
1.计算机相关专业本科以上学历,3年以上 H5 游戏开发经验;
2.熟练使用 JavaScript、HTML、CSS3 等技术以及相应的开发工具;
3.有 Cocos 引擎使用经验;
4.思维敏捷、逻辑清晰、有强烈的责任心和进取心,能与团队成员良好沟通;
5.开发过游戏相关工具的优先;
6.有成熟的 Cocos Creator 项目开发经历优先;
7.有微信公众号、小程序、小游戏开发经验者优先。
应聘链接:
https://www.lagou.com/jobs/7122769.html
51Talk 无忧英语
高级 Cocos Creator 游戏开发工程师
18k-26k /北京 / 经验3-5年
职位描述:
负责产品设计的 H5游戏开发工作。任职要求:
1.本科及以上学历,计算机相关专业,3年或以上开发经验;
2.精通前端技术:Javascript,HTML5 和 CSS3,熟悉 ES6 语法;
3.熟练使用 Cocos 游戏引擎,有 H5 网络小游戏开发经验;
4.熟悉前端流行框架(Vue优先/React);
5.积极主动,逻辑性强,具有良好的沟通能力和团队合作精神。应聘链接:
https://www.lagou.com/jobs/7317188.html
作业帮
Cocos 游戏研发工程师
25k-50k·14薪 /北京 / 经验3-5年
工作职责:
1.负责作业帮核心业务游戏化内容开发;
2.负责游戏内容的性能优化及体验优化。任职资格:
1.有丰富游戏开发经验;2.精通 Cocos2d-x 游戏开发框架及相关工具链;
3.具体引擎源码阅读及修改能力;
4.熟悉原生 canvas、WebGL 及相关渲染底层原理;
5.熟悉 Javascript、HTML/HTML5、CSS/CSS3 等前端开发技术,熟悉 W3C 标准;
6.对可用性、稳定性、可访问性等相关知识有实际的了解和实践经验,具有模块化编程思想、良好的代码书写习惯;
7.主流的前端框架 React、Vue 等主流 web 框架技术有一定的了解;
8.有较强的责任感、上进心和良好的团队合作精神。应聘链接:
https://www.lagou.com/jobs/7326289.html
宝宝巴士
中高级 Cocos 游戏开发工程师
10k-20k /福州 / 经验不限
工作职责:
1.从事儿童教育系列客户端产品开发;
2.益智类游戏产品客户端相关逻辑、特效开发。任职资格:
1.3年以上 Cocos2d-x 开发经验;
2.了解 Cocos2d-x 引擎架构设计,具备阅读源码能力,具有较强的思维能力;
3.熟悉游戏中常用数据结构和算法,精通面向对象编程思想,熟悉 C++/Java;
4.掌握一门 Lua 或 JS 脚本语言者优先;
5.责任心强,有良好沟通能力和团队合作精神。应聘链接:
https://www.lagou.com/jobs/7042140.html
猿辅导
Cocos 开发工程师
20k-30k /北京 / 经验3-5年
岗位职责:
1.根据产品策划,完成交互、动画等游戏开发任务;
2.负责斑马英语 APP 中课程部分模块的维护和优化。
岗位要求:
1.熟悉 Cocos2d-x 引擎,C++ / JavaScript / Lua 其中至少熟悉一项;
2.计算机及相关专业本科及以上学历;
3.良好的编程习惯,乐于分享;
4.有音视频直播或游戏相关经验者优先。
应聘链接:
https://www.lagou.com/jobs/6555249.html
久趣英语
Cocos 开发工程师
15k-25k /北京 / 经验1-3年
工作职责:
1.负责公司儿童游戏开发;
2.负责 Cocos2d-x游戏性能调优;
3.参与儿童游戏项目重点、难点的技术攻坚。任职资格:
1.全日制本科及以上学历,2年以上经验,热爱编程,对儿童游戏编程充满兴趣;
2.能熟练使用 Cocos2d-x 游戏引擎;
3.最少用 Cocos2d-x 引擎开发过2个游戏以上;
4.有良好的团队合作意识,抗压能力强。应聘链接:
https://www.lagou.com/jobs/7033475.html
虎牙
Cocos Creator 游戏开发工程师
30-60K·16薪/广州/经验5-10年
岗位职责:
1.分析游戏策划需求,研究技术实现可行性,评估风险;
2.完成整个游戏前端的框架设计,及核心游戏逻辑设计;
3.管理开发团队,安排下属工作内容,把控项目进度;
4.与美术,策划团队一起制定对接规范及相关工具链开发。岗位要求:
1.5年以上游戏开发经验,且有 SLG 或 RTS 游戏开发经验,参与一款以上成功产品的开发过程;
2.精通 Javascript 语言,掌握 Cocos Creator 开发环境;
3.熟悉网络通信,socket 开发,熟悉与游戏后端对接流程;
4.多个完整项目经验,至少一个项目中担任过主程序角色。应聘链接:
https://www.zhipin.com/job_detail/9609fbd9d2ea465233B73d69F1A~.html
陌陌
高级 Cocos Creator 开发工程师(直播)
25k-35k /北京 / 经验3-5年
岗位职责:
1.负责移动端 Web 游戏的前端开发;负责游戏的方案设计、开发、优化和维护工作;
2.与项目组美术/策划人员深入沟通,准确理解并实现需求;与项目组测试/服务端工程师等配合,了解并解决产品问题,把握好游戏的细节体验;
3.推进项目的执行及成果的落地;根据团队需要,能产出一些提升组内开发效率的工具;
任职要求:
1.本科及以上计算机相关专业学历,有三年以上的游戏开发经验,熟悉 Cocos Creator 游戏引擎,能够熟练使用 lua/javascript 进行游戏开发;
2.熟悉 WebGL,了解渲染原理、物理引擎,粒子系统、动画系统;
3.熟悉 TCP/IP、WebSocket、HTTP 等协议,对代码通用性、扩展性有一定理解,有软件结构设计经验者优先;
4.熟悉游戏开发的整个开发过程,并具备项目把控以及推进能力;
应聘链接:
https://www.lagou.com/jobs/6861272.html
畅聊天下
高级 Cocos 开发工程师(引擎优化)
30-40K·14薪/北京/经验5-10年
职位描述:
1.负责客户端整体架构设计和优化并输出技术规范文档;
2.使用 Cocos2d-x 和 Cocos Creator 开发 android 和 ios 移动平台游戏;
3.配合策划、美术团队完成功能开发、维护工作和功能更新;
4.分析运行效率及性能分析,并进行优化;
任职资格:
1.本科及以上学历,计算机相关专业;
2.5年以上游戏开发经验;
3.优秀的学习能力和逻辑思维能力,良好的沟通能力和执行能力,工作责任心强;
4.熟练掌握 Cocos2d-x引擎,熟悉 Cocos Creator,精通 C++/js 语言;
5.熟悉 Cocos 2d-x 渲染流程和 OpenGL ES 渲染管线。
应聘链接:
https://www.zhipin.com/job_detail/a0dea2968f59e9d21XBy2ty6Elc~.html
百度
Cocos Creator 高级开发工程师
薪资面议/深圳/经验 2年
岗位职责:
1.负责开发、维护、部署基于 Cocos2d-x/Cocos Creator 游戏引擎的 Web/iOS/Andriod 平台休闲游戏;
2.负责移动端游戏逻辑、UI 动画、广告变现业务集成和开发;
3.负责与后端工程师沟通设计网络通信协议,与策划、美术共同讨论开发需求及设计游戏实现细节;
4.参与技术难题攻关、组织技术积累、定期技术分享等工作。任职要求:1.两年及以上游戏开发经验,熟悉游戏发布和上线流程;
2.熟悉常见的游戏引擎,能熟练使用 Cocos2d-x/Cocos Creator 开发和打包发布;
3.熟练掌握 JavaScript/TypeScript 开发语言,了解 C++/Lua 语言更佳,具有良好的面向对象编程思想;
4.熟悉网络通信协议和服务端交互流程,能抽象并分离前后端业务逻辑;
5.掌握一定的 Web 小程序/iOS/Android 开发和项目发布经验,能快速集成外部 SDK 开发、调试并反馈问题。简历投递:
songguangjin@baidu.com
字节跳动
Cocos Creator 游戏开发工程师
20k-35k /北京 / 经验不限
职位职责: 1.负责 H5 游戏前端开发工作,包括相关功能实现、协助进行框架搭建;
2持续优化游戏性能、游戏逻辑以及用户体验。职位要求: 1.计算机相关专业本科及以上学历,2年以上 H5 游戏工作经验,有完整项目经历优先;
2.熟练使用H5一游戏引擎(Cocos/u3d等),熟悉 Cocos Creator 引擎优先,熟悉TCP/IP、WebSocket、HTTP 等网络通信技术;
3.熟悉 JavaScript/TypeScript 语言,熟悉 HTML5 及 CSS,具有良好的面向对象编程的思想;
4.了解 IOS 和 Android 移动平台 Web 开发技术标准。应聘链接:
https://www.lagou.com/jobs/7061419.html
腾讯
游戏客户端开发工程师
薪资面议/ 深圳/经验 2年以上
工作职责:
1.负责手游逻辑功能及模块开发;
2.持续优化性能、需求表现和兼容性;
3.与游戏服务器,运营,平台等功能模块做开发对接联调。
工作要求:
1.本科及以上学历,2年以上游戏相关工作经验;
2.熟练掌握 C++ 和 C# 语言中至少其中一种;
3.具备良好的算法和数据结构基础知识,熟悉图形学和渲染管线,Shader 编程;
4.熟悉 Unity 引擎和 Cocos 引擎中至少其中一种;
5.具有良好的团队合作精神,自我驱动力;
6.具有出色的学习和技术攻坚能力。应聘链接:
https://careers.tencent.com/jobdesc.html
拼多多
高级 Cocos Creator 游戏开发工程师
20k-40k /上海 / 经验3-5年
岗位职责:
1.使用 Cocos Creator 进行项目相关功能模块任务的开发;
2.根据项目需求,进行游戏程序设计及开发工作并给出解决方案;
3.与服务器后端工程师沟通设计网络通信协议;
4.与项目组策划、美术人员共同讨论开发需求及设计游戏实现细节,保证产品质量和进度;
5.有带新人和指导新人的能力。
任职要求:
1. 计算机相关专业本科学历及以上;
2. 2年以上 Cocos Creator 相关实际开发经验,至少完整参与过一款上线游戏项目;
3. 熟悉 JavaScript/Typescript,良好的面向对象设计、分析能力,规范的编程风格;
4. 有扎实的编程基础和算法基础,精通常用的数据结构和算法;
5. 对游戏资源优化、内存及性能优化、代码混淆有一定的研究
6. 善于沟通,有责任心和团队合作意识。
应聘链接:
https://www.lagou.com/jobs/6691741.html
Paytm(印度支付宝)
高级 Cocos Creator 工程师
25k-50k·15薪 /北京 / 经验5-10年
岗位描述: 1.使用 Cocos Creator 引擎进行项目相关功能模块任务的开发;
2.管理棋牌游戏前端团队,跨项目沟通,协调进度,团队考核;
3.与项目组策划、美术人员共同讨论开发需求及设计游戏实现细节,保证产品质量和进度;
4.优化产品性能和提升用户交互体验。任职资格: 1.本科及以上学历,5年以上游戏开发经验,有棋牌游戏开发经验者优先;
2.有团队管理经验,具备主人翁精神,有精益求精的工匠精神,良好的跨团队沟通能力;
3.熟练使用 Cocos Creator 引擎,熟悉 js/ts;
3.熟悉 WebSocket、Socket、Http 等网络通信协议;
4.有良好的代码书写、注释和单元测试习惯,熟练运用多种软件设计模式;应聘链接:
https://www.lagou.com/jobs/7398492.html
美团
高级 Cocos Creator 开发工程师
35k-55k /北京 / 经验5-10年
工作职责: 1.主导并参与小游戏业务核心业务的架构、设计、核心功能开发、系统优化等工作;
2.对重要核心服务的架构升级、稳定性建设、高性能优化等方面进行规划并推进实施;
3.负责技术难点调研和攻关,解决系统中关键的设计、技术、性能等问题;
4.制定团队目标,技术规划,搭建团队以及人才培养。 岗位要求: 1.5年及以上相关工作经验,拥有深度的计算机技术基础,拥有丰富游戏(不限于 H5 游戏)开发及架构经验者优先录取;
2.对主流游戏引擎(Cocos/Unity等)有一定理解,至少对其中之一有深入学习和应用;
3.熟悉各种前端技术,包括 HTML/CSS/JavaScript 等,深入了解浏览器渲染、小游戏容器原理者优先录取;
4.具备大型 H5 应用的架构设计能力及实战经验,对前端工程化有深入理解者优先录取;
5.具备实际团队管理经验,在团队搭建、人才培养、机制建设等方面有实际操作经验。应聘链接:
https://www.lagou.com/jobs/6874735.html
阿里互娱
《三国志幻想大陆》专场
Cocos 客户端
薪资面议/上海/经验3年
岗位职责:
1.设计、开发客户端模块;
2.排查、解决开发者中遇到的问题。
任职要求:
1.本科以上学历,三年相关工作经验;
2.熟悉 C++,开发过至少一款产品;
3.具备很强的学习能力,能够对自己开发过的功能不断总结和改进;
4.具备很强的工作热情,有自驱力,有责任心。
简历投递 :
kenny.sy@alibaba-inc.com
青瓷数码
Cocos 开发工程师
15k-25k /厦门 / 经验1-3年
岗位职责:1.负责《最强蜗牛》项目客户端功能模块开发;
2.负责《最强蜗牛》项目客户端周边工具的开发和完善。任职资格:1.计算机相关专业本科以上学历;
2.熟练使用 Cocos2d-x/Unity3D 引擎,有两年以上中大型手游开发经验;
3.熟悉 Lua 语言;
4.有较好的团队协作能力;
5.热爱游戏事业,能够适应高强度的工作;6.有客户端优化经验者优先。
应聘链接:
https://www.lagou.com/jobs/7087603.html
网易
Cocos 引擎端开发
13k-25k /广州 / 经验3-5年
岗位职责:
1.负责游戏端的各项系统功能的设计与开发;
2.参与系统代码重构、程序性能优化、迭代设计和开发;
3.参与需求沟通、技术文档的编写、服务端对接以及研发流程的优化;
4.研究适用于项目发展的技术,推动项目组进行必要的技术创新。
岗位要求:
1.本科及以上学历,2年实际项目经验,计算机相关专业优先;
2.了解 Cocos2d-x 框架的工作原理,熟悉 javascript、c++、lua 中至少一门编程语言;
3.对面向对象、设计模式、数据结构和算法设计等有较为深刻的理解;
4.优秀的分析问题和解决问题能力,对解决具有挑战性问题充满激情;
5.有手机客户端开发经验和不同平台移植经验者优先考虑;
6.有图像处理经验者优先考虑。
应聘链接:https://www.lagou.com/jobs/5770514.html
莉莉丝游戏
Cocos 客户端开发实习生
5k-6k /上海 / 经验应届毕业生
岗位职责:1.负责使用 C++/lua 开发游戏客户端功能;
2.负责对接公司平台相关业务。任职资格:1.有扎实的编程知识基础;
2.有较强的学习、反思和改善能力;
3.有较强分析和解决问题的能力,有很强的责任心;
4.工作心态良好,善于沟通协调。应聘链接:
https://www.lagou.com/jobs/6843463.html
完美世界
Cocos 开发工程师
20k-40k /北京 / 经验3-5年
岗位职责:
1.使用 Cocos2d-x lua 游戏引擎开发手机网络游戏;
2.参与客户端游戏逻辑、UI开发;
3.参与客户端框架的设计开发和核心功能的实现,独立设计开发相应的游戏模块;
4.编写准确优质的编码和自我测试;。
任职要求:
1.211/985本科及以上学历;
2.至少有1年以上 Cocos2d-X 开发经验;
3.有良好的 C/C++ 基础,精通 lua 编程;
4.有独立负责过重要模块的经验;
5.熟悉常用数据结构和算法;
6.具备良好的编程习惯和代码规范,独立解决问题能力强。应聘链接:https://www.lagou.com/jobs/6490271.html
巨人网络
高级 Cocos 游戏开发工程师
20k-30k /上海 / 经验3-5年
工作职责:
1.手机客户端整体架构设计和技术方案的规划;
2.使用 Cocos2d-x 开发手机游戏;
3.优化 Cocos2d-x 引擎;
4.根据产品需求,完成功能模块的设计,编码和测试工作;
5.制作,维护相关开发工具。
工作要求:
1.本科及以上学历,计算机相关专业;
2.精通 C/C++ 编程语言,具有五年以上 C++ 编程经验;
3.熟练应用 Cocos2d-x 引擎,两年以上 Cocos2d/Cocos2d-x 手机游戏开发经验;
4.熟练应用 Cocos2d-x 的周边开发工具;
5.具备两款以上已上架的 ios/android 产品开发经验;
6.熟悉 DirectX 或 OpenGL,有计算机图形学知识;
7.热衷于钻研技术,工作踏实认真,责任心强,抗压能力强;
8.善于沟通,有良好的团队合作精神和独立分析解决问题的能力;
9.精通手机机型适配,UI 布局优化等问题;
10.精通面向对象设计,熟悉 UML 建模工具;
11.熟悉lua、js等脚本语言;
12.有 MMORPG 开发经验者优先。
应聘链接:
https://www.lagou.com/jobs/6930127.html
IGG
高级 Cocos 客户端程序
13k-25k /福州 / 经验不限
岗位描述:
1. 根据游戏业务功能确定开发需求,进行模块设计,解决方案;
2. 编写客户端必要的开发工具、控件、插件;
3. 分析游戏运行性能瓶颈,提供优化方案。岗位要求:
1.五年以上的游戏客户端开发工作经验,并至少有两款成功上线的游戏;
2.能熟悉使用 Cocos2d-x 引擎开发,并对游戏引擎架构有一定的了解;
3.精通 C++语言、能熟悉各种 2D/3D 图形渲染;
4.具有良好的沟通与团队协作能力;应聘链接:
https://www.lagou.com/jobs/7144782.html
盛趣游戏
资深 Cocos 客户端开发
15k-30k /上海 / 经验不限
工作职责:
1.根据需求使用 Cocos2d-x 引擎开发和维护游戏内容 ;
2.解决项目遇到的相关技术问题 ;
3.能按照项目计划,按时提交高质量的代码,并完成开发任务。
任职资格:
1.熟练掌握 C++、lua 语言,对面向对象有深刻的理解、熟悉常用设计模式 ;
2.熟练应用 Cocos2d-x 引擎与周边开发工具;
3.熟悉 Android 或者 iOS 开发 ;
4.掌握常规的计算机图形算法 ;
5.责任心强,能吃苦耐劳,具备良好的团队合作和沟通能力 ;
6.具备相关开发经验 。
应聘链接:
https://www.lagou.com/jobs/6742575.html
三七互娱
高级游戏 Cocos 开发工程师
18k-25k /上海 / 经验3-5年
岗位职责:
1.负责手机游戏客户端功能开发;
2.负责手机游戏相关工具开发。
岗位要求:
1.熟悉 LUA,C/C++ 基础扎实;
2.精通 C/C++,熟悉 Cocos2d-x;
3.精通 Socket 网络编程和 HTTP 协议,能高效的处理各种数据;
4.三年以上游戏开发经验,一年以上核心模块开发经历;
5.具有快速学习不同技术和编程语言的能力;
6.具备良好的职业精神和态度,能够承受一定的工作压力;
7.熟悉 Java/c++ 或者 lua 语言者优先。
应聘链接:
https://www.lagou.com/jobs/6814931.html
以上就是今日 C 姐为大家收集的 Cocos 相关热招岗位,信息来自 Cocos 社区、招聘网站以及公司官网等渠道,工作地点涵盖广州、深圳、上海、北京、厦门、杭州、福州等城市,每个岗位均附有应聘链接,部分岗位附有 HR 联系方式,如打算用电子邮件投递简历,标题中要记得注明求职信息,提升简历过筛几率噢!
-
uni-app混合原生安卓开发
2021-01-28 17:17:58uni-app和原生App混合开发问题 首先务必确认uni-app和原生...1、如果你的应用是uni-app开发的,需要扩展一些原生能力,那么首先去插件市场看看有没有现成的插件,如果没有,就自己开发,开发文档请参考原生插件开发教程...uni-app和原生App混合开发问题
首先务必确认uni-app和原生代码,谁是主谁是从的问题。
1、如果你的应用是uni-app开发的,需要扩展一些原生能力,那么首先去插件市场看看有没有现成的插件,如果没有,就自己开发,开发文档请参考原生插件开发教程https://nativesupport.dcloud.net.cn/NativePlugin/course/android。
2、如果你的App是原生开发的,部分功能栏目想通过uni-app实现,有2种方式:- 在原生App里集成uni小程序sdk,参考:https://nativesupport.dcloud.net.cn/README,相当于原生app拥有了小程序能力。
- 如果不想集成原生sdk,那就把uni-app代码发布成H5方式,在原生App里通过webview打开。
原生插件开发
现在我们只讨论第一种情况,应用是uni-app开发的,需要扩展一些原生能力,即原生插件开发。
开发者须知
- 已经具备了相应Android应用开发经验,使用Android Studio开发过Android原生。
- 也应该对HTML,JavaScript,CSS等有一定的了解, 能开发uni-app。
开发环境
- JAVA环境 jdk1.8
- Android Studio
- App离线SDK下载:请下载2.9.8+版本的android平台SDK
注意
- 插件目前暂时不支持Kotlin
- gradle版本注意事项
HX3.0.0+版本云打包及相应版本SDK都将gradle版本4.6-all升级到6.5-all,tools.build:gradle版本3.2.1升级到4.1.1。
步骤
一、uni-app端
既然以uni-app开发主体,首先要有一个uni-app项目,新建项目testApp。
扩展 Module
Module 扩展 非 UI 的特定功能
创建Android Studio的Module模块- 在现有Android项目中创建library的Module。例如uniplugin_module
- 配置刚创建的Module的build.gradle信息。
示例:
//导入aar需要的配置 repositories { flatDir { dirs 'libs' } } dependencies { //必须添加的依赖 compileOnly 'com.android.support:recyclerview-v7:28.0.0' compileOnly 'com.android.support:support-v4:28.0.0' compileOnly 'com.android.support:appcompat-v7:28.0.0' compileOnly 'com.alibaba:fastjson:1.1.46.android' compileOnly fileTree(include: ['uniapp-v8-release.aar'], dir: '../app/libs') }
Tips:
uniapp-v8-release.aar是扩展module主要依赖库,必须导入此依赖库!
创建TestModule类
Module 扩展必须继承 UniModule 类
示例:public class TestModule extends UniModule
- 扩展方法必须加上@UniJSMethod (uiThread = false or true) 注解。UniApp 会根据注解来判断当前方法是否要运行在 UI 线程,和当前方法是否是扩展方法。
- UniApp是根据反射来进行调用 Module 扩展方法,所以Module中的扩展方法必须是 public 类型。
示例:
//run ui thread @UniJSMethod(uiThread = true) public void testAsyncFunc(JSONObject options, UniJSCallback callback) { Log.e(TAG, "testAsyncFunc--"+options); if(callback != null) { JSONObject data = new JSONObject(); data.put("code", "success"); callback.invoke(data); } } //run JS thread @UniJSMethod (uiThread = false) public JSONObject testSyncFunc(){ JSONObject data = new JSONObject(); data.put("code", "success"); return data; }
同样因为是通过反射调用,Module 不能被混淆。请在混淆文件中添加代码:
-keep public class * extends io.dcloud.feature.uniapp.common.UniModule{*;}
Module 扩展的方法可以使用 int, double, float, String, Map, List ,com.alibaba.fastjson.JSONObject 类型的参数
二、原生android端
在下载的离线SDK项目中修改
三、插件调试
本地注册插件
以上两种方式选一即可- 第一种方式
在UniPlugin-Hello-AS工程下 “app” Module根目录assets/dcloud_uniplugins.json文件。 在moudles节点下 添加你要注册的Module 或 Component - 第二种方式
创建一个实体类并实现UniAppHookProxy接口,在onCreate函数中添加组件注册相关参数 或 填写插件需要在启动时初始化的逻辑。
在UniPlugin-Hello-AS工程下 “app” Module根目录assets/dcloud_uniplugins.json文件,在hooksClass节点添加你创建实现UniAppHookProxy接口的实体类完整名称填入其中即可 (有些需要初始化操作的需求可以在此处添加逻辑,无特殊操作仅使用第一种方式注册即可无需集成UniAppHookProxy接口)
public class RichAlert_AppProxy implements UniAppHookProxy { @Override public void onCreate(Application application) { //当前uni应用进程回调 仅触发一次 多进程不会触发 //可通过UniSDKEngine注册UniModule或者UniComponent } @Override public void onSubProcessCreate(Application application) { //其他子进程初始化回调 可用于初始化需要子进程初始化需要的逻辑 } }
dcloud_uniplugins.json说明
nativePlugins: 插件跟节点 可存放多个插件 hooksClass: 生命周期代理(实现AppHookProxy接口类)格式(完整包名加类名) plugins: 插件数组 name : 注册名称 class : module 或 component 实体类完整名称 type : module 或 component类型。 { "nativePlugins": [ { "hooksClass": "uni.dcloud.io.uniplugin_richalert.apphooks", "plugins": [ { "type": "module", "name": "DCloud-RichAlert", "class": "uni.dcloud.io.uniplugin_richalert.RichAlertModule" } ] } ] }
四、集成uni-app项目测试插件
-
安装最新HbuilderX 大于等于1.4.0+
-
创建uni-app工程或在已有的uni-app工程编写相关的.nvue 和.vue文件。使用uni-app插件中的module 或 component。
-
xxx.vue 示例代码(源码请参考UniPlugin-Hello-AS项目中uniapp示例工程源码文件夹的unipluginDemo工程)
-
选择 发行—>原生APP-本地打包—>生成本地打包App资源 等待资源生成!
-
在控制台会输出编译日志,编译成功会给出App资源路径
-
把APP资源文件放入到UniPlugin-Hello-AS工程下 app Module根目录assets/apps/测试工程appid/www对应目录下,再修改assets/data/dcloud_control.xml!修改其中appid=“测试工程appid”!,测试工程UniPlugin-Hello-AS 已有相关配置可参考。具体可查看App离线打包。
-
appid注意 一定要统一否则会导致应用无法正常运行!
-
配置"app"Module下的 build.gradle. 在dependencies节点添加插件project引用 (以uniplugin_richalert为例)
// 添加uni-app插件 implementation project(':uniplugin_richalert')
- 运行测试。测试运行时一切要以真机运行为主
-
变脸式应用 / 制作原生APP
2017-02-23 16:33:54H5应用可以打包生成苹果或安卓原生应用,一般也称为混合应用程序(Hybird App)。并不是所有的H5应用都适合打包成原生应用,如果把一个普通的手机网站包装成原生应用,即使它制作的外观像是原生应用, 但切换页面时的... -
HTC vive Focus VR 实现原生安卓三维APP
2018-06-25 15:45:51HTC Vive在会上发布了一款针对国内市场的VR一体机Vive Focus。VR一体机Vive Focus优点:画面更加清晰,应用运行的也更加流畅;inside-out技术的运用也解决了陀螺仪追踪带来的延迟、画面抖动的问题;虽然骁龙835的性能... -
安卓简单天气预报app源码_你要了解的直播源码的原生开发
2020-12-10 17:40:39你要了解的直播源码的原生开发当下直播市场已经成为了一种新兴行业,吸引着路上的创业者,特别是一对一直播的出现,更是让很多创业者寻找到了方向,在一对一直播开发中源码起到了关键,有了源生开发才能达到开发一对... -
用安卓 WebView 做一个“套壳”应用
2020-08-04 00:17:42目前手机应用市场上的 APP 类型主要为以下两种: Native App(原生应用):直接针对平台(Android、iOS 等手机系统)进行开发,属于性能最优的方案,也是开发成本最大的方案。 Hybrid App(混合应用):即为原生... -
用安卓 WebView 做一个Cocos Creator“套壳”应用
2020-08-05 09:40:39前言目前手机应用市场上的 APP 类型主要为以下两种:Native App(原生应用):直接针对平台(Android、iOS 等手机系统)进行开发,属于性能最优的方案,也是开发成本最大的... -
【APICloud系列|15】上架ios应用到苹果应用市场总结
2020-06-06 19:52:22安卓几个应用商店已经更新了所有的程序,比较简单,一般人都可以很容易上架,对上架到苹果应用市场第一次搞或者老手也会遇到很多坑,这里面主要会涉及到邓白氏编码,苹果开发者账号,证书(测试证书、发布证书),... -
原生App和HTML5的区别有哪些?开发企业App抢占市场先机
2021-01-10 21:16:11原生开发也叫Native App开发,它的主要应用对象是移动设备。开发原生APP软件是需要在不同的操作系统中用不同的语言进行开发。比如我们常见的操作系统有Android、IOS。APP开发语言与之相对应的是安卓Android APP用... -
杂谈:windows10 支持安卓
2014-12-06 00:19:25今天看到一篇新闻关于未来的操作系统,支持安卓原生应用。看到这个消息,我想微软终于放大招了。若果这个消息成真,这一真是很令人振奋的消息。一直以来,微软想解决应用短缺的问题,但是这个问题不能在短时间解决,... -
微软可以推出定制版安卓系统
2012-12-16 10:36:00众所周知,微软对安卓是有专利收费的,每一家生产安卓手机的厂商,都需要交纳一定的专利费给微软。...微软有地图,有搜索,有skydrive,有office,将这些产品替换掉原生的应用,这样就可以占领整个安卓市场。 ... -
你要了解的直播源码的原生开发
2020-08-25 15:31:04你要了解的直播源码的原生开发 当下直播市场已经成为了一...我们最常用的微软word就是原生开发的应用程序,原生开发的一对一直播源码是特别为某种操作系统开发的,比如安卓、苹果等,他们都是在各自的移动设备上运行. -
原生app和混合app、webapp有哪些区别?
2021-01-16 14:16:03目前市场主流的APP主要分三种:原生APP、WebAPP和混合APP三种,这里对三者的区别进行详细分析。 原生APP是什么? 原生APP就是利用Android、iOS平台官方的开发语言、开发类库、工具进行开发。比如安卓的java语言,iOS... -
原生app、hunheapp、webapp的区别以及优缺点
2019-09-06 14:30:01目前市场主流的APP主要分三种:原生APP、WebAPP和混合APP三种,这里对三者的区别进行详细分析。原生APP 原生APP是什么?原生APP就是利用Android、iOS平台官方的开发语言、开发类库、工具进行开发。比如安卓的java... -
安卓最牛教材!我想谈谈关于Android面试那些事,安卓系列学习进阶视频
2021-02-04 16:34:20Android系统的市场地位 Android程序开发的技能成长经验 Android程序员为什么需要学习Html5 Android软件工程师为什么不会被前端替代 为什么小程序无法替代原生开发 为什么Html5无法取代NativeAPP Html5在Android中的... -
指令汇C电子市场开发(一) ActionBar的使用
2015-12-02 20:34:47感觉这款模拟器运行挺快的,哈哈,而且可以直接把应用拖进去安装,还可以拖到尺寸,比安卓原生的模拟器好用多啦!原谅我现在才知道 一、ActionBar的使用 我们可以参考安卓官网的文档进行开发,主要分为... -
跨平台应用即将消亡!
2020-12-25 18:12:252015 年时,我是一名自由职业的原生 iOS 开发者。我知道 Objective C——这是唯一我睡着都能写的语言。...如果有人给我提供机会,相信我在 Windows + iOS 领域的工程技能,我可以在工作中学习原生安卓。 但是我犹豫要不 -
安卓开发不得不会!Android黑科技保活实现原理揭秘,吐血整理
2021-01-10 20:52:29Android系统的市场地位 Android程序开发的技能成长经验 Android程序员为什么需要学习Html5 Android软件工程师为什么不会被前端替代 为什么小程序无法替代原生开发 为什么Html5无法取代NativeAPP Html5在Android中的... -
android自助终端界面源码_这些安卓源码调试技巧,不懂的程序员月薪绝对不过 30k...
2020-11-27 12:37:12从图中你可以看到主要有以下几部分组成:Linux内核Android Runtime原生C/C++库Java API框架(后面我称之为Framework框架层)系统应用我们在各个应用市场看到的,大多是第三方应用,也就是安装在da... -
android自助终端界面源码_这些安卓源码调试技巧,不懂的人月薪绝对不过 30k !...
2020-10-29 22:00:58今天我要跟你分享的是Framework的...从图中你可以看到主要有以下几部分组成:Linux内核Android Runtime原生C/C++库Java API框架(后面我称之为Framework框架层)系统应用我们在各个应用市场看到的,大多是第三方应用,... -
安卓ndk开发书籍!来看看移动端小程序技术的前世今生!震撼来袭免费下载!
2021-01-24 16:52:32Android系统的市场地位 Android程序开发的技能成长经验 Android程序员为什么需要学习Html5 Android软件工程师为什么不会被前端替代 为什么小程序无法替代原生开发 为什么Html5无法取代NativeAPP Html5在Android中的... -
qt5.9.0调试如何查看变量的值_这些安卓源码调试技巧,不懂的程序员月薪绝对不过 30k...
2020-12-04 11:11:00从图中你可以看到主要有以下几部分组成:Linux内核Android Runtime原生C/C++库Java API框架(后面我称之为Framework框架层)系统应用我们在各个应用市场看到的,大多是第三方应用,也就是安装在da... -
可视化安卓开发工具!目前最全的《Android面试题及解析》!面试心得体会
2021-03-04 19:29:18Android系统的市场地位 Android程序开发的技能成长经验 Android程序员为什么需要学习Html5 Android软件工程师为什么不会被前端替代 为什么小程序无法替代原生开发 为什么Html5无法取代NativeAPP Html5在Android中的...