二 Android Studio 打包EgretApp (开机画面、横竖屏、调试、和原生交互)
测试环境:
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 (开机画面、横竖屏、调试、和原生交互)的更多相关文章
- 三 Android Studio打包EgretApp (SDK选择和下载)
一 设置项目的sdk路径 二 设置项目使用sdk版本 一 设置项目的sdk路径 设置SDK目录 选择你电脑上的sdk路径 二 在项目中设置SDK版本 在项目中设置编译的sdk版本 在SDK Manag ...
- 四 Android Studio打包EgretApp (热更新)
官网教程: http://developer.egret.com/cn/github/egret-docs/Native/native/hotUpdate/index.html 和Eclipse一样, ...
- uni-app&H5&Android混合开发二 || 使用Android Studio打包应用APK
前言: 在上一章节我们已经讲了如何uni-app离线打包Android平台教程,这一章就该来讲讲如何使用Android Studio打包应用APK提供给Android手机安装使用了. 第一步.首先打开 ...
- Android Studio 打包时 Signature Version 选择V1还是V2 ?
只勾选V2会导致 7.0 以下的安卓机出现 INSTALL_PARSE_FAILED_NO_CERTIFICATES 的问题 ,推荐全选. 解决方案一v1和v2的签名使用1)只勾选v1签名并不会影响什 ...
- Android tips(八)-->Android Studio打包apk,aar,jar包
文本我们将讲解android studio打包apk,aar,jar包的相关知识.apk包就是android系统的安装包,这里没什么好说的,aar包是android中独有的类库包,而jar包是java ...
- Android Studio打包apk,aar,jar包
转载请标明出处:一片枫叶的专栏 文本我们将讲解android studio打包apk,aar,jar包的相关知识.apk包就是android系统的安装包,这里没什么好说的,aar包是android中独 ...
- eclipse 和 android studio 打包签名apk问题
首先,我使用eclipse打包了一个签名apk 然后,我使用同一个签名文件在android studio 打包同一个项目 接下来,首先安装eclipse 打包的apk,然后安装android stud ...
- Android Studio打包未签名包
Android Studio打包未签名包 好久没有写技术博客了,真有点懈怠了,作为35岁的程序员,转行重新捡起这些知识,还是挺犹豫纠结的,不过没啥其它办法,一点一滴开始吧,今天这开篇就小结点前几天工作 ...
- Android 开机默认横竖屏
做Android系统开发时,经常遇到机器开机默认横竖屏问题,现整理如下: 方法一:修改WindowManagerService.java 在这个类中修改int mRotation = 0;这个值即可. ...
随机推荐
- C# 之 FTPserver中文件上传与下载(一)
近期接手这样一个文件上传到ftpserver的一个功能,接下来就给大家解析一下这一功能. 首先,今天我们要讲的是怎么创建一个FTPserver. 1.首先我们创建一个用户,当然不想创建 ...
- js 字符串拼接 html 累加 html 叠加
正常来说已经使用es6 的 模板了如`` //页面层 layer.open({ type: 1, content:`<div class="child_card"> & ...
- queue for max elem, pop, push
queue for max elem, pop, push 个人信息:就读于燕大本科软件project专业 眼下大三; 本人博客:google搜索"cqs_2012"就可以; 个人 ...
- 线程相关函数(6)-pthread_cond_wait(),pthread_cond_signal(), 条件变量
pthread_cond_tpthread_cond_initpthread_cond_destroypthread_cond_waitpthread_cond_timedwaitpthread_co ...
- PHP之文件大小的转换函数
直接看代码: <?php function tosize($size){ $s = $size; $dw = "";#pow(2,40)是2的40次方. if($s > ...
- java 新特性学习笔记
java 1.7 Files.write(path,list,StandardCharsets.UTF_8,StandardOpenOption.APPEND); String preTime = F ...
- Unix系统编程()深入探究文件IO概述
open调用将引入原子atomicity操作的概念. 将某一系统调用所要完成的各个动作作为不可中断的操作,一次性加以执行. 原子操作是许多系统调用得以正确执行的必要条件. 还介绍一个系统调用fcntl ...
- msyql的内存计算
本文将讨论MySQL内存相关的一些选项,包括: 单位都是b,不是kb,即1B=1/(1024*1024*1024)G 1)全局的buffer,如innodb_buffer_pool_size: 2)线 ...
- CSS(五):背景、列表、超链接伪类、鼠标形状控制属性
一.背景属性 1.背景属性用来设置页面元素的背景样式. 2.常见背景属性 属性 描述 background-color 用来设置页面的背景色,取值如red,#ff0000 background-ima ...
- PHP多进程编程(2):管道通信
一个进程如果是个人英雄主义,那么多进程就是集体主义.(不严格区分多进程 和 多线程的差别) 你不再是一个独行侠,而是一个指挥家. 独来独往,非常自由自在,但是,很多时候,不如众人拾柴火焰高. 这就是我 ...