测试环境:

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));
}
}

  

五 热更新

待续...

二 Android Studio 打包EgretApp (开机画面、横竖屏、调试、和原生交互)的更多相关文章

  1. 三 Android Studio打包EgretApp (SDK选择和下载)

    一 设置项目的sdk路径 二 设置项目使用sdk版本 一 设置项目的sdk路径 设置SDK目录 选择你电脑上的sdk路径 二 在项目中设置SDK版本 在项目中设置编译的sdk版本 在SDK Manag ...

  2. 四 Android Studio打包EgretApp (热更新)

    官网教程: http://developer.egret.com/cn/github/egret-docs/Native/native/hotUpdate/index.html 和Eclipse一样, ...

  3. uni-app&H5&Android混合开发二 || 使用Android Studio打包应用APK

    前言: 在上一章节我们已经讲了如何uni-app离线打包Android平台教程,这一章就该来讲讲如何使用Android Studio打包应用APK提供给Android手机安装使用了. 第一步.首先打开 ...

  4. Android Studio 打包时 Signature Version 选择V1还是V2 ?

    只勾选V2会导致 7.0 以下的安卓机出现 INSTALL_PARSE_FAILED_NO_CERTIFICATES 的问题 ,推荐全选. 解决方案一v1和v2的签名使用1)只勾选v1签名并不会影响什 ...

  5. Android tips(八)-->Android Studio打包apk,aar,jar包

    文本我们将讲解android studio打包apk,aar,jar包的相关知识.apk包就是android系统的安装包,这里没什么好说的,aar包是android中独有的类库包,而jar包是java ...

  6. Android Studio打包apk,aar,jar包

    转载请标明出处:一片枫叶的专栏 文本我们将讲解android studio打包apk,aar,jar包的相关知识.apk包就是android系统的安装包,这里没什么好说的,aar包是android中独 ...

  7. eclipse 和 android studio 打包签名apk问题

    首先,我使用eclipse打包了一个签名apk 然后,我使用同一个签名文件在android studio 打包同一个项目 接下来,首先安装eclipse 打包的apk,然后安装android stud ...

  8. Android Studio打包未签名包

    Android Studio打包未签名包 好久没有写技术博客了,真有点懈怠了,作为35岁的程序员,转行重新捡起这些知识,还是挺犹豫纠结的,不过没啥其它办法,一点一滴开始吧,今天这开篇就小结点前几天工作 ...

  9. Android 开机默认横竖屏

    做Android系统开发时,经常遇到机器开机默认横竖屏问题,现整理如下: 方法一:修改WindowManagerService.java 在这个类中修改int mRotation = 0;这个值即可. ...

随机推荐

  1. Timer Schedule参数说明

    Timer是一种定时器工具,用来在一个后台线程计划执行指定任务.它可以计划执行一个任务一次或反复多次. TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务. schedule的意 ...

  2. pip install 安装提示unknown 包

    pip install setuptools --upgrade should fix the issue

  3. Java数据结构和算法(一):简介

    本系列博客我们将学习数据结构和算法,为什么要学习数据结构和算法,这里我举个简单的例子. 编程好比是一辆汽车,而数据结构和算法是汽车内部的变速箱.一个开车的人不懂变速箱的原理也是能开车的,同理一个不懂数 ...

  4. Bitmap OutOfMemoryError

    在创建Bitmap的时候因为对象过多而没有即使回收,导致的内存不足: java.lang.OutOfMemoryError E/AndroidRuntime(21898):     at androi ...

  5. C++和C#实现剪切板数据交互

    c#端由于system.windows.form自带的剪切板功能太少,所以写了一个Helper类把接口转了出来.这样就可以用不同的uint的id了. 并且自带的剪切板必须执行在[STAThread]模 ...

  6. 【Android】14.1 内部文件存储和读取

    分类:C#.Android.VS2015: 创建日期:2016-02-27 一.简介 内部存储(Internal storage)是指将应用程序建立的私有文件保存在内部存储器(移动经销商卖的那种容量较 ...

  7. Java线程停止interrupt()方法

    程序是很简易的.然而,在编程人员面前,多线程呈现出了一组新的难题,如果没有被恰当的解决,将导致意外的行为以及细微的.难以发现的错误.在本篇文章中,我们针对这些难题之一:如何中断一个正在运行的线程. 中 ...

  8. mysql数据库批量操作

    批量KILL会话: 1.首先,根据条件将查询到要kill的进程写入文件:如:desc information_schema.processlist; SELECT concat('KILL ',id, ...

  9. OpenGL ES 简单教程

    什么是OpenGL ES? OpenGL ES (为OpenGL for Embedded System的缩写) 为适用于嵌入式系统的一个免费二维和三维图形库. 为桌面版本号OpenGL 的一个子集. ...

  10. ubuntu 12.04下apache 配置家目录地址

    apache2 最在搞前端相关的东西,上一次也记录了 Linux 下 LAMP环境的搭建,现在记录一下如果改变 apache2 的家目录地址该怎么做,改那个配置文件 修改配置文件 /etc/apach ...