二 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;这个值即可. ...
随机推荐
- java中加密解密工具类
在工作中经常遇到需要加密.解密的场景.例如用户的手机号等信息,在保存到数据库的过程中,需要对数据进行加密.取出时进行解密. public class DEStool { private String ...
- AntShares区块链的节点部署与搭建私有链
近期陆续体验常见的区块链开源项目,比如小蚁OnChain出的AntShares.AntShares跟其它开源区块链项目不一样,他们家是使用C#开发,基于.NET Core执行在Linux,期待未来出G ...
- Decoration5:引入Actuator进行站点监控
1.添加依赖 2.重启应用 3.下图显示了一些默认的监控端点 这是数据可以在前台用来做饼图和柱状图什么的,不过实际上我们现在还用不到,于是就不深入研究
- Python 数据驱动ddt 使用
准备工作: pip install ddt 知识点: 一,数据驱动和代码驱动: 数据驱动的意思是 根据你提供的数据来测试的 比如 ATP框架 需要excel里面的测试用例 代码驱动是必须得写代码 ...
- 把一张图片 转成二进制流 用AFNetworking POST 上传到服务器.
把一张图片 转成二进制流 用AFNetworking POST 上传到服务器. AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOper ...
- UIWebView和UICollectionViewController的使用
UIWebView和UICollectionViewController的使用 UIWebView UIWebView是iOS内置的浏览器的控件, 可以浏览网页, 打开文档等 .系统自带的Safari ...
- FragmentTabHost的应用
原创)FragmentTabHost的应用(fragment学习系列文章之二) 时间 2014-04-14 00:11:46 CSDN博客 原文 http://blog.csdn.net/flyi ...
- [fork]Linux中的fork函数详解
---------------------------------------------------------------------------------------------------- ...
- [shell]Linux脚本开头#!/bin/bash和#!/bin/sh是什么意思以及区别
一直以为在shell脚本中#都是代表着注释功能,同样在脚本开始的#!/bin/sh也只是告诉用户这是一个shell脚本,而最近顺手查了下,才发现不是这个意思,分享下面的文章. 转自:http://ww ...
- MySQL数据库运维的五大指标
如何评价一个公司数据库运维水平的高低?用什么来进行横向与纵向对比?自动化平台建设的目标是什么?必须有相应的指标体系来指导,此指标体系必须满足以下条件: • 可以用数字来测算和衡量 • 最终指标,而不是 ...