測試環境:
Windows7
Egret Engine 5.0.14
Egret support 5.0.12
Android Studio 2.3
目錄:
一 修改開機畫面
二 橫豎屏設置
三 修改代碼后調試,輸出console
四 和原生交互
五 熱更新
一 修改開機畫面
找到項目目錄下AndroidManifest.xml

注釋掉圖中的intent-filter,並把SplashActivity的inttent-filter注釋取消。這樣就有了開機的畫面。

更換啟動的開機圖片
找到項目路徑下的drawable和其他mipmap-xxx文件夾,
J:\testappas\proj.android\app\src\main\res

將所有splash_img.png圖片替換成你自己的開機畫面 (我把圖片尺寸換了個1280x960的直接報錯,圖片不能太大)

二 橫豎屏設置
在AndroidManifest.xml找到android:screenOrientation,默認是豎屏"portrait",設置值為"landscape"為橫屏即可。

設置為橫屏后,發現開機畫面還是豎屏的....
需要把開機畫面的activity也加一個橫屏設置。

好了這樣就是橫屏游戲了。
三 Android和Egret的調試
每次修改egret項目后,發布時勾選runtime

則會自動更新包到android_as_path的路徑下,這時你只要再次run一次android studio項目就可以運行新的代碼了

Egret中輸出console可以在android studio中看到
我在Egret制作一個按鈕,按一下console.log("按一下輸出一個console"),如下圖,可以在Android Monitor看到。

但是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));
}
}
五 熱更新
待續...
