更新时间:2017-2-24

打包工具所使用的项目


TypeSDK打包工具所使用的游戏项目与其他产品有所不同,为了满足开源需求并同时降低用户使用时的技术成本,TypeSDK没有使用对APK母包反编译后替换文件方式进行渠道包编译。而是使用Unity导出的Android项目和iOS项目整合渠道SDK原始代码进行编译。

不使用反编译的原因


渠道说NO

如果渠道知道游戏开发商没有使用渠道官方提供的SDK,而使用了由第三方提供进行了反编译和修改的渠道SDK后。其后果可想而知,游戏下架公司拉黑,如果因此造成渠道用户手机被黑造成经济损失,开发商还会摊上官司。所以为了提现TypeSDK产品诚意,让游戏开发商安心使用TypeSDK产品,我们坚持完全开源、且对渠道SDK反编译说No。

程序员说NO

使用编译方法能简化聚合SDK发布复杂度,但会给使用者造成技术门槛。反编译项目如遇问题,通常会出现闪退、黑屏等状况,而程序员无法判断问题原因,只能等待聚合SDK工具开发者来解决。试想临近上线提包,却因为包有问题毫无办法,只能期望第三方能及时响应解决问题。

老板说NO

反编译方案无法做到真正开源,即使号称服务端和工具代码开源,用户也必须依赖聚合SDK开发者提供的渠道反编译文件合成渠道包。用户使用时间再久也只能依靠第三方,无法做到真正掌握系统。试想公司即将上市,技术审计时被发现有关键系统还掌握在别人手里,自己无法维护更新。这时老板一定想劈了CTO,而TypeSDK使用开源常规方案,使用者可轻易的掌握其工作原理,并可自行维护更新,消化整合成随心所欲。这也是多家上市公司或有计划上市公司选择TypeSDK产品的原因。

Unity导出Android项目


1.点击菜单栏的Unity按钮(mac os系统请点击file按钮),会出现如下菜单

Unity_android_1.png

2.点击buildSettings 选项,会看到如下图的界面

Unity_android_2.png

导出安卓项目需要做以下几步

3.点击buildsettings的Playsettings按钮,会在系统的inspector分栏中看到如下界面 Unity_android_3.png
  • bundle version 应用版本号,玩家可以使用第三方工具看到的游戏apk版本号,例如1.0.0.a
  • shortbundleversion,安卓设置中同上,ios中该版本号要求不能使用超过3位数字的设定,例如a.b.c(正确),a.b.c.d(错误)。
  • bundle version Code 应用版本序列号(必须是int类型),该版本号玩家看不到,渠道对应用是否有更新版本判断的主要依据,如果version code不同,就会认为是不同版本的应用,渠道会要求用户做更新。
  • Minimum API Level 支持的最低安卓版本(建议使用4.0级以上,4.0以下版本系统将会有很多功能无法使用,例如:推送)
  • Device Filter 设备兼容性(armv7,x86)请相关开发者自行决定,x86架构设备主要都是使用英特尔的cpu,与arm架构芯片在图形渲染方面会有很多不同。
  • Install Location 安装位置,sd卡/内部存储/自动(那里有空间安装在那里,优先安装sd卡)建议设置成auto