4. 添加新平台 - nottvlike/nosdk GitHub Wiki

添加新平台需要这几个步骤:

  • 在 nosdk/src/platform 目录里新加一个 android studio module,名称是 platform_ + 你新加的平台名;
  • 更改 settings.gradle,添加你的新平台到 settings.gradle 里;
  • 新加 com/common/sdktool/MainActivity, com/common/sdktool/MainApplication 类;
  • 在 MainActivity 的 android 事件里调用 SDKManager相关方法,并且实现将 ISDKCallback 的回调通知到新平台底层的功能;
  • 更改 build.gradle 的 makeJar/mkDir/copyJar 方法,将 MainActivity 等生成的 jar 包和接入新平台需要的其它资源拷贝到 main/paltform 里;
  • 更改 refresh_jars.sh/refresh_jars.bat,将新平台的命令添加到刷新脚本里;
  • 测试新平台打包是否正确。

你定义的 main/platform 里的平台文件夹名称,就是 buildDefault 方法里的 platformName;

不同的平台,肯定是定义了自己的 Activity,要支持新平台的话 MainActivity 需要继承平台定义的 Activity,除此以外 MainActivity 还有两个用处,一个是通知 SDKManager android 的 onCreate/onDestroy/onStart/onStop 等事件,另一个就是通知底层 SDKManager 的状态,比如登录成功/登录失败/支付成功/支付失败,以及传递一些需要的信息,比如 sdk 账号 Id/登录 token 等,这个一般就是跨语言通信了,比如 unity 是 java 调用 c#,而 cocos2dx 是 java 调用 c++。