Moe大家都有耳闻吧,一直没找到关于admob的教程,今天我来写一篇关于MOE加admob的教程。PS: MOE自动生成java绑定 爽得很。
1.下载admob的sdk
https://dl.google.com/googleadmobadssdk/googlemobileadssdkios.zip?hl=zh-CN
把它保存在桌面
2.生成admob绑定
在ios-moe项目上右键->link framework
然后把admob的framework路径填入
ok,成功!可以在lib文件夹里面看到绑定了。oh!还不行 需要在主工程的build.gradle里面加入以下文字
project(":ios-moe") {
apply plugin: "moe" configurations { natives }
dependencies {
compile project(":core")
compile "com.badlogicgames.gdx:gdx-backend-moe:$gdxVersion"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-ios"
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-ios"
compile fileTree(dir: 'lib', include: '*.jar')
}
}
然后
这个时候终于可以看到绑定的类了,爽歪歪!不用像robovm那样手动写绑定了
3.在xcode里面配置admob的依赖
同样是右键ios-moe->open xcode
在xcode里面加把之前下载的admob的framework拖进xocde项目
然后加入依赖,大概有这些东西:
AdSupport,AudioToolbox,AVFoundation,CoreBluetooth,CoreGraphics,CoreMedia,CoreMotion,CoreTelephony,CoreVideo,EventKit,EventKitUI,Foundation,GLKit,MediaPlayer,MessageUI,OpenGLES,SafariServices,StoreKit,SystemConfiguration,UIKit MobileCoreServices
继续加入-Objc(debug和release里面都要加入-ObjC)
Project in Xcode: Build Setting -> Linking -> Other Linker Flags -> Debug (add -ObjC) -> Release (add -ObjC)
4.配置混淆选项
编辑progaurd.cfg(ios-moe/progaurd.append.cfg):
-keep class com.intel.googlemobileads.** { *; }
-keep enum com.intel.googlemobileads.** { *; }
5.尽情玩耍
6.IPA打包
在命令行里面运行
./gradlew moeIpaBuild
关于减少ipa的体积
通过和moe官方交流了下 终于解决了,升级到1.2.4
classpath 'org.multi-os-engine:moe-gradle:1.2.4'
在ios-moe的build.gradle里面添加如下代码:
moe {
proguardLevel 'all'
......
}
然后在proguard.append.cfg中添加
-keep class apple.uikit.protocol.** { *; }
可以减少将近13M
#运行环境
gdxVersion = '1.9.5-SNAPSHOT'
MOE隐藏状态栏
在ios-moe/xocde/ios-moe/Info.Plist添加
UIViewControllerBasedStatusBarAppearance