egret android studio,二 Android Studio 打包EgretApp (开机画面、横竖屏、调试、和原生交互)...

测试环境:

Windows7

Egret Engine 5.0.14

Egret support 5.0.12

Android Studio 2.3

目录:

一 修改开机画面

二 横竖屏设置

三 修改代码后调试,输出console

四 和原生交互

五 热更新

一 修改开机画面

找到项目目录下AndroidManifest.xml

052e2121491603bc43b6733b1de8a56213f.jpg

注释掉图中的intent-filter,并把SplashActivity的inttent-filter注释取消。这样就有了开机的画面。

9b1ee3a847fca71d98346ec85e48a782977.jpg

更换启动的开机图片

找到项目路径下的drawable和其他mipmap-xxx文件夹,

J:\testappas\proj.android\app\src\main\res

f356d91bd83642c39b8672b5977265d946e.jpg

将所有splash_img.png图片替换成你自己的开机画面 (我把图片尺寸换了个1280x960的直接报错,图片不能太大)

f1a1ce3dacecc2346eb1981028b09e3ff34.jpg

二 横竖屏设置

在AndroidManifest.xml找到android:screenOrientation,默认是竖屏"portrait",设置值为"landscape"为横屏即可。

62049a1871a68ee7720aa68d84ce86afebe.jpg

设置为横屏后,发现开机画面还是竖屏的....

需要把开机画面的activity也加一个横屏设置。

f0ce92e5abbd791fc7b6d463a6eca9bf56c.jpg

好了这样就是横屏游戏了。

三 Android和Egret的调试

每次修改egret项目后,发布时勾选runtime

bb85a8fb0f48891de18c2ef975ad722ca3f.jpg

则会自动更新包到android_as_path的路径下,这时你只要再次run一次android studio项目就可以运行新的代码了

944b62d175b1ba4fcfe8f2b26ded2be1c96.jpg

Egret中输出console可以在android studio中看到

我在Egret制作一个按钮,按一下console.log("按一下输出一个console"),如下图,可以在Android Monitor看到。

41abfc279eadbdbc577a81540ba9a148e4f.jpg

但是Android的java中的Log.d()信息,始终打印不出来,百度后也未解决...= =!

四 和原生交互

下面是一个Egret向Android原生层请求登录的例子

Android层:

src/main/java/org.egret.java/testapps/testapps

private void setInterfaces() {

//监听Egret发送来的消息

gameEngine.setRuntimeInterface("reqLogin", new IRuntimeInterface() {

@Override

public void callback(String message) {

Log.d("externalInterface", "接收到Egret的登录请求 : " + message);

//向Egret发送消息

gameEngine.callEgretInterface("revLogin", "登录成功");

}

});

}

Egret层:

/**

* 主页场景

* @author chenkai 2018/1/8

*/

class HomeScene extends eui.Component{

private loginBtn:eui.Button;

public constructor() {

super();

this.skinName = "HomeSceneSkin";

}

protected childrenCreated(){

//点击登录

this.loginBtn.addEventListener(egret.TouchEvent.TOUCH_TAP, this.onTouchTap, this);

//监听Native发来的消息

egret.ExternalInterface.addCallback("revLogin", function (message:string) {

console.log("接收Native登录结果: " + message);

});

}

private onTouchTap(){

console.log("请求登录");

let json = {

account:"chenkai",

password:"123456"

};

//向Native发送消息

egret.ExternalInterface.call("reqLogin", JSON.stringify(json));

}

}

五 热更新

待续...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值