Project1

标题: AS打包APK教程和Android自动创建摇杆以及确定、取消键 [打印本页]

作者: haiyin    时间: 2021-11-18 11:48
标题: AS打包APK教程和Android自动创建摇杆以及确定、取消键
本帖最后由 haiyin 于 2021-12-1 16:40 编辑

前言:将自己的学习经验分享出来,自己也是受了不少别人的帮助,也希望本篇能帮到你,也请会使用AS的不要嫌啰嗦..。
Tip:本教程涉及的资源允许用于你自己开发的游戏,禁止用于未经游戏原作者许可授权的游戏,禁止违法使用,单机制作者基本都是用爱在发电了吧,拒绝盗版,从个人做起!
在前面的基础上,添加了透明度,删除了在js源文件上手动添加js方法,从js事件到摇杆和确定、取消事件全部放到android层,只要在assets上添加好游戏文件,当加载游戏后就会自动显示虚拟按键
效果图:


网盘
项目文件:
链接:https://pan.baidu.com/s/18cucnm_Ix4ynXpPmgdgtLg
提取码:v2xk
--来自百度网盘超级会员V4的分享

APK文件
链接:https://pan.baidu.com/s/1ILVwsEHox2mYM2X2S9YFzA
提取码:m7vf
--来自百度网盘超级会员V4的分享

下面说教程
1、AS的安装,为了尽可能少占用站内服务资源请移步↓
https://blog.csdn.net/weixin_44543103/article/details/121392291

2、导入项目,上面网盘地址下载解压后就是项目了
①如果你安装好AS来到的是下图的页面,请选择Open


②如果你来到的不是上图的页面,就按照下图打开项目


③通过①或②操作来到打开项目处,选择项目


④目录结构如下,然后把部署好的RPGMaker游戏文件复制到assets文件夹下


⑤双击打开MainActivity.java文件


⑥修改路径,将图中路径修改为你游戏工程对应的层级路径,让路径指向你的存放index.html文件夹处


⑦将项目打包成APK,如下图操作


⑧等待打包,打包结束后会有如下图提示,点击loacte可以打开外部文件管理器并定位到打包后的APK位置处


⑧如果需要打包成发行版,参考
https://blog.csdn.net/weixin_44767769/article/details/104660925
调试版和发行版都能正常使用,发行版去除了调试信息并对项目进行了一定的优化

⑨异常集合
一、如果出现下图错误提示,则没有安装配置JDK环境

解决方法①
直接点击蓝色链接
而在下载过程中可能因为被墙导致下载失败,请继续如下图配置,先双击打开build.gradle文件,再添加下面这段代码(使用阿里云代理仓库)
JAVA 代码复制
  1. maven{url "https://maven.aliyun.com/nexus/content/groups/public/"}


如果后续出现如下图弹框,则点击OK,在是因为AS安装的SDK路径安装路径找不到问题,点击OK后会选择AS安装的SDK的正确路径


解决方法②手动配置jdk
https://www.runoob.com/java/java-environment-setup.html

二、如果出现下图所示警告,说明SDK Platforms中对应的android版本API没有安装

解决方法:



下图下载中

下图下载完成后,点击Finish


三、如果出现各种爆红错误如下图

解决方法:

下图可以选择第一个,AS安装自带的环境,也可以选择你手动配置好的jdk


四、如果出现下图错误,参考上面异常集合第二步
二、如果出现下图所示警告,说明SDK Platforms中对应的android版本API没有安装



修改完都最好刷新一下:


五、先占位置,后续如果还有错可以百度,也可以评论,看见了我会更新上来的

下面是对一些基础参数的解析:
1、AS怎么更改APP名字,像下图这样在手机上显示设定的名字?

先双击打开strings.xml文件,将下图文字修改为你需要的文字

2、怎么修改app图标,像下图在手机上显示?

先把图标复制到mipmap文件夹上,再双击打开AndroidManifest.xml文件


3、怎么将摇杆替换为自己P好的图片?
首先将你的摇杆图片复制到mipmap文件夹上,然后双击打开activity_main.xml文件,随后在下图箭头指向的标签<com.rpggame.rpggamemv.RockerViewRPG内添加以下代码
(摇杆有两个区域,一个是静止的,即此篇开头的gif灰色区域,还有就是摇杆即此篇开头的gif红色区域):
JAVA 代码复制
  1. app:areaBackground="@mipmap/rocker_base"
  2.          app:rockerBackground="@mipmap/rocker"

其中:
areaBackground是设置区域背景,即此篇开头gif灰色区域,将rocker_base改成你的图片名称
rockerBackground是设置摇杆的样式,即此篇开头的gif红色区域,将rocker改成你的图片名称


4、怎么将确定和取消按钮替换为自己P好的图片?
先将自己P好的图片复制到drawable文件夹内,随后双击打开activity_main.xml文件,修改下图右侧两个红箭头所示的的代码,"qd"是确定按钮,"qx"是取消按钮,把这两个字符换成你图片名字


5、怎么修改摇杆和确定、取消按钮的透明度?下图红色字看不清的话点击图片放大就可以看清楚了


6、确定和取消按钮的点击状态和松开状态事件监听
先双击打开MainActivity.java文件,找到下图代码

其中:
gsqtwo.setBackground(qdrd);
是设置确定按钮被按下或松开时显示的图片,图片资源我放在分割线下了
gsq.setBackground(qxrd);
则是设置取消按钮被按下或松开时显示的图片
而qdrd、qxrd、qd、qx则是对应的图片资源变量
获取的代码如下:
JAVA 代码复制
  1. Resources resources = MainActivity.this.getResources();
  2.         Drawable qxrd = resources.getDrawable(R.drawable.qxrd);
  3.         Drawable qx = resources.getDrawable(R.drawable.qx);
  4.         Drawable qdrd = resources.getDrawable(R.drawable.qdrd);
  5.         Drawable qd = resources.getDrawable(R.drawable.qd);

还是先把你的按钮图片复制到drawable文件夹内,也就是上面第四步
4、怎么将确定和取消按钮替换为自己P好的图片?

里复制的图片
R.drawable.后面接你图片的名称,示例:R.drawable.qxrd,qxrd就是图片名称

尾记:这里只做了最基本的方向、确定、取消事件,如果需要触发特定的js事件,比如添加其他按钮,用这个按钮放你自己做好的技能事件什么的都是可以实现的,有兴趣的可以研究下,或者我有时间也可以帮忙做下。

分割------------------------------------------------------------------------------------------------------------------------------------如果还有什么遗漏的请及时反馈-----------------------------------------------------------------------------------------




图标.png (157.76 KB, 下载次数: 11)

图标.png

6.png (200.35 KB, 下载次数: 13)

6.png

6.png (200.35 KB, 下载次数: 10)

6.png

7.png (34.29 KB, 下载次数: 13)

7.png

作者: play337    时间: 2021-11-18 12:49
本帖最后由 play337 于 2021-11-18 12:50 编辑

是我看錯嗎?
上一次下載 2GB 一個 APK

這次為什麼需要 3.54GB 一個 APK ?

< 空间不足,无法操作 >

我把其他的全部刪掉.... 只放你的....
作者: haiyin    时间: 2021-11-18 21:19
本帖最后由 haiyin 于 2021-11-20 19:34 编辑
play337 发表于 2021-11-18 12:49
是我看錯嗎?
上一次下載 2GB 一個 APK


失误了,我昨晚通宵一晚,早上边上传边写的教程,没注意删除assets缓存,现在可以了,只有12m左右
链接:https://pan.baidu.com/s/1ILVwsEHox2mYM2X2S9YFzA
提取码:m7vf
--来自百度网盘超级会员V4的分享
作者: play337    时间: 2021-11-18 23:25
....ㄜ..... 我好像怎麼都包不起來....

可不可以直接給我一個包好的APK...
我自己在取代掉 APK 裡面的 ASSETS 裡面的東西就好了... (我之前都是這樣用的...其實還是可以跑 只是小圖跟名稱有點問題而已)

因為這12MB 的 我試了幾次好像都打包不起來... >_<
作者: haiyin    时间: 2021-11-18 23:38
play337 发表于 2021-11-18 12:49
是我看錯嗎?
上一次下載 2GB 一個 APK

我想起了你的是要在运行你网站上的游戏,你要添加点代码,申请联网
1、按下图添加下面一句代码,申请联网
<uses-permission android:name="android.permission.INTERNET"></uses-permission>

然后打开MainnActivity。java文件,箭头指向的网址替换成你游戏的网址

在输入网址时尽量避免输入带有IP地址的网址,最好使用二级域名,最大程度避免IP被人拿到攻击你的服务器
作者: haiyin    时间: 2021-11-19 00:36
haiyin 发表于 2021-11-18 23:38
我想起了你的是要在运行你网站上的游戏,你要添加点代码,申请联网
1、按下图添加下面一句代码,申请联网 ...

放网址直接指向你游戏了,资源都是从你网站上读取,肯定不需要在加assets了,游戏体验的话看玩家网络
作者: haiyin    时间: 2021-11-19 00:45
play337 发表于 2021-11-18 23:25
....ㄜ..... 我好像怎麼都包不起來....

可不可以直接給我一個包好的APK...

我给你打包好了
链接:https://pan.baidu.com/s/14LGJ7G9OaoRlMUwVyOO70Q
提取码:hcuc
--来自百度网盘超级会员V4的分享

放网址直接指向你游戏了,资源都是从你网站上读取,肯定不需要在加assets了,游戏体验的话看玩家网络
作者: haiyin    时间: 2021-11-19 00:50
play337 发表于 2021-11-18 23:25
....ㄜ..... 我好像怎麼都包不起來....

可不可以直接給我一個包好的APK...

MainActivity.java文件里的路径你是需要改成你自己的网址,文章开头我更新了下度盘,你再重新下载打包试试行不行吧
作者: play337    时间: 2021-11-19 06:06
包好的 我要去哪個檔改網址?

作者: play337    时间: 2021-11-19 06:45
本帖最后由 play337 于 2021-11-19 08:16 编辑

我發現 AS 真的是很難用.... ( 其實是自己爛>_< )

有沒有其他的打包工具阿....

01.我裝好AS
02.改了.JAVA
03.按下建立APK
一堆錯誤...>_<
這是為甚麼呢?





弄好幾個小時....

錯誤越來越多........

快瘋了 >_<




這是甚麼東西 >_<

Failed to install the following Android SDK packages as some licences have not been accepted.
   build-tools;30.0.2 Android SDK Build-Tools 30.0.2
To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
Alternatively, to transfer the license agreements from one workstation to another, see http://d.android.com/r/studio-ui/export-licenses.html

Using Android SDK: C:\Users\User\AppData\Local\Android\Sdk

剪貼簿-10.png (35.41 KB, 下载次数: 14)

剪貼簿-10.png

作者: haiyin    时间: 2021-11-19 11:15
play337 发表于 2021-11-19 06:45
我發現 AS 真的是很難用.... ( 其實是自己爛>_< )

有沒有其他的打包工具阿....

现在到哪一步了
作者: haiyin    时间: 2021-11-19 11:17
本帖最后由 haiyin 于 2021-11-19 18:05 编辑
play337 发表于 2021-11-19 06:45
我發現 AS 真的是很難用.... ( 其實是自己爛>_< )

有沒有其他的打包工具阿....


我疏忽了,对于新人在使用过程中真的会有各种各样的问题,而且不带重样的(我刚开始学的时候也是,非常痛苦。。),我也没法11去解决,帮你搞定我在想要不要关了贴子吧
作者: haiyin    时间: 2021-11-19 11:18
play337 发表于 2021-11-19 06:45
我發現 AS 真的是很難用.... ( 其實是自己爛>_< )

有沒有其他的打包工具阿....

2951599474,这是我qq
作者: haiyin    时间: 2021-11-19 11:24
本帖最后由 haiyin 于 2021-11-19 17:46 编辑
play337 发表于 2021-11-19 06:45
我發現 AS 真的是很難用.... ( 其實是自己爛>_< )

有沒有其他的打包工具阿....


我其实非常推荐AS打包,还能各种自定义
作者: play337    时间: 2021-11-19 19:39


我終於用你給我的APK搞定了!!!!
原來這一行放的位置不對就是不可以的!
我後來去看 Website.2.APK.Builder 放的位置 COPY 他的 就 OK了!
<uses-permission android:name="android.permission.INTERNET"/>
加入到 AndroidManifest.xml

但是現在的問題是:

01. 畫面 ZOOM 無法調大調小
估計應該是又要加上甚麼就會有這功能了吧
因為我看 Website.2.APK.Builder 右邊選項有

02. 遊戲裡面可以選擇FULLSCREEN全螢幕 但是不起作用
估計應該是又要加上甚麼就會有這功能了吧
因為我看 Website.2.APK.Builder 右邊選項有

03.最重要的是 你的搖桿 可以搖 但是無法控制角色
我覺得應該是因為我的是 WEBSITE 的關係吧....
就控制不到網頁畫面的東西啊...
我後來開個搜尋引擎
打個字 也控制不了字元的移動
確定鍵 跟 取消鍵 也都沒有作用

雖然在那邊搖搖搖 好像很好看... 但是就是沒作用
我實在看不出問題了

今天從 早上 5點 搞到現在 真的好累人....
不過 終於有成果了 真開心啊!!!! 哈哈哈哈 ^_______^

總感覺 你在修改一下 就可以達成用 你這個 APK 玩我的網頁遊戲的目標了! 哈哈哈哈!
會嗎?

作者: haiyin    时间: 2021-11-19 20:50
play337 发表于 2021-11-19 19:39
我終於用你給我的APK搞定了!!!!
原來這一行放的位置不對就是不可以的!
我後來去看 Website.2.APK.Builder ...

关于第一个,你说的调大调小是指可以对网页进行大小调整,比如像手机浏览器那样可以缩放页面吗?
第二个,摇杆和确定、取消键目前只针对RPGMAKER制作的游戏,所以是不能控制非RPGMAKER以外的js活动,
不过既然你提出了,刚好又是周末了,我也想深入探索下,你可以给我你的网址我来调试,然后可以添加一下联系方式,交流能更有效率,你可以留下联系方式,又或者添加我的qq2951599474,
作者: play337    时间: 2021-11-19 21:33


关于第一个,你说的调大调小是指可以对网页进行大小调整,比如像手机浏览器那样可以缩放页面吗?
:就是你看這右下角的放大縮小網頁的東西...
:因為 Website.2.APK 內建就有.而且其他站內的 APK也都有一模一樣的東西. 我以為是 ANDROID內建的.. ^_^


第二个,摇杆和确定、取消键目前只针对RPGMAKER制作的游戏,所以是不能控制非RPGMAKER以外的js活动,
不过既然你提出了,刚好又是周末了,我也想深入探索下,你可以给我你的网址我来调试,然后可以添加一下联系方式,交流能更有效率,你可以留下联系方式,又或者添加我的qq2951599474,

搞定了 !!!!

來吧!!!!

好期待阿~ ^_^
作者: haiyin    时间: 2021-11-20 08:20
本帖最后由 haiyin 于 2021-11-20 08:21 编辑
play337 发表于 2021-11-19 21:33
关于第一个,你说的调大调小是指可以对网页进行大小调整,比如像手机浏览器那样可以缩放页面吗?
:就是你 ...


这个应该算是最终版(可能--。。--)。上面提到的网盘也已经更新了。
我测试过,可以正常加载网站,RPGMAKER游戏也是可以正常操控。
假如你输入的网址指向的是游戏,而游戏是基于Rpgmakermv或MZ制作的,那么摇杆和按钮会显示出来,假如你输入的网址指向并非RPGMaker游戏,又或是非游戏数据网站则摇杆和按钮会隐藏。
加载网站能够全屏预览、双击可以进行缩小放大、双指也可以操作缩小放大。
如果你是要在本地加载RPGMAKER游戏,我固定了一个路径层级,下图,你可以按照这种路径将文件放入assets内,如果需要更改网址,将下图的路径换成你的网址,当然,是需要修改MainActivity文件的


如果你需要对其中内容进行定制,可以网上找资料学习。难度并不高,这些知识在AS中算是基础偏上一点点点吧,毕竟没有用到进程什么的。
最后,祝一切顺利。
作者: play337    时间: 2021-11-20 10:16
示例apk暗号是105376
1G 我終於抓下來了....

結果也是有問題的..... >_<



01. 搖桿一搖一堆錯誤
02. 右邊按鈕都重疊而且不能按
作者: 逸生ya    时间: 2021-11-20 14:53
厉害了,收藏了
作者: haiyin    时间: 2021-11-20 19:56
本帖最后由 haiyin 于 2021-11-20 20:11 编辑
play337 发表于 2021-11-20 10:16
示例apk暗号是105376
1G 我終於抓下來了....


话说我记得我是删除了第一个游戏的了。。。无冬那个游戏不是测试游戏,那个叫t2的才是,android的UI层权重是比js高的,然后错误是因为没有在html文件添加对应方法,上个帖子是需要手动在html文件添加方法的
本文文章开头我已经更新了apk和项目,你可以去下载了,以后就随缘更新了
作者: play337    时间: 2021-11-20 21:21
終於成功改了 APK 進入我的網頁遊戲
也有放大縮小在右下角了! 耶!

不過:
01. 虛擬搖桿怎麼才能把它弄出來呢? 搖桿不見了...
02. ZOOM- 可以在縮更小一點嗎? 就是現在應該是縮到100%...可以在變80%...60% ...50% 嗎?
03. 雖然進入遊戲了...不過因為是在手機用
: 變成 WSAD 不能用了.... 選單也叫不出來了
( 之前看過 是不是手機瀏覽器把這些都給改得很奇怪...導致無法定到想要的CODE...)
(好像是因為手機叫出來的鍵盤 輸入法都會怪怪的...所以虛擬搖桿就無法使用...是這樣的嗎?因為英文文件實在看不懂...似懂非懂 )

知道大佬很忙...如果沒時間...就放著吧... 這兩天幾乎都搞這個... 現在看到 APK 就害怕 >_<


作者: haiyin    时间: 2021-11-21 12:39
play337 发表于 2021-11-20 21:21
終於成功改了 APK 進入我的網頁遊戲
也有放大縮小在右下角了! 耶!

我这里不管是将文件放在服务器,还是本地测试都没有问题,你那边是怎么回事。。。
作者: play337    时间: 2021-11-21 13:36
出來了... 把 IFARAME 拿掉直接放 INDEX.HTML 就出來了...


如果我猜得沒錯... 虛擬搖桿因為是用JAVA寫的...

所以只能支援所在的那一層的網頁...只要跨一個IFRAME就不起作用了 好像是 瀏覽器 WEBVIEW的限制 還是甚麼的
但是 如果使用 OTG 連接手機 然後用鍵盤控制 遊戲 因為是硬體設施 所以就不管多少層的 IFRAME 都可以用

但是我有查到另一個英文討論串
說只要 虛擬搖桿的 JAVA 指定 IFRAME 的 ID 和 DIV 的 ID 跟 CANVAS 的畫布 ID 就可以控制 該層底下的 CANVAS的遊戲的鍵盤指令輸出

但是具體怎麼做也沒有說...而且說好像2019年可以這樣做 2021年10月之後就不行這樣做了...
反正我也用機器翻譯的也看不太懂 >_<

不過 FULLSCREEN 還是沒有作用... 應該是 你的 APK 裡面的 全螢幕的權限沒打開吧.... 具體我也查不到在哪... 我猜的 哈哈哈
不過能弄成這樣 又比之前成功好多了! 耶~

作者: 梦·林夕    时间: 2021-11-21 15:28
就用原来的那个好像也行吧?
作者: haiyin    时间: 2021-11-21 23:32
本帖最后由 haiyin 于 2021-11-21 23:39 编辑
play337 发表于 2021-11-21 13:36
出來了... 把 IFARAME 拿掉直接放 INDEX.HTML 就出來了...


你的iframe版,链接我放下面了,页面的宽跟高成正比的,页面后续页面问题你自己调iframe。
给你看下演示,后续
https://b23.tv/tqO9Fgf

还有你还要定制自己的系统的话,赶紧找个团队吧,别再折磨我了(强迫获得新知识中。。。)

--来自百度网盘超级会员V4的分享
hi,这是我用百度网盘分享的内容~复制这段内容打开「百度网盘」APP即可获取 
链接:https://pan.baidu.com/s/1H5VKLQIRs_lXkpNv2nHbag 
提取码:988p
作者: haiyin    时间: 2021-11-21 23:35
本帖最后由 haiyin 于 2021-11-21 23:39 编辑
梦·林夕 发表于 2021-11-21 15:28
就用原来的那个好像也行吧?


可以的,他的特别点,用ifarame展示,导致无法直接获取游戏的页面数据,,,正常打开应该是都可以的
作者: 梦·林夕    时间: 2021-11-22 12:38
haiyin 发表于 2021-11-21 23:35
可以的,他的特别点,用ifarame展示,导致无法直接获取游戏的页面数据,,,正常打开应该是都可以的 ...

不过很多东西展示不了,我用了重力脚本就没办法用,,就是那个上下左右的按键,然后Z和X
作者: haiyin    时间: 2021-11-22 18:43
梦·林夕 发表于 2021-11-22 12:38
不过很多东西展示不了,我用了重力脚本就没办法用,,就是那个上下左右的按键,然后Z和X ...

是重力脚本的按钮无法使用了,还是我这边的按钮无法使用?
作者: haiyin    时间: 2021-11-22 19:50
本帖最后由 haiyin 于 2021-11-22 19:52 编辑
play337 发表于 2021-11-21 13:36
出來了... 把 IFARAME 拿掉直接放 INDEX.HTML 就出來了...


如果需要添加新的功能按钮和对应事件,步骤如下:
0、你要有一定android代码基础,毕竟不能像js插件那样可以编辑参数并保存(保存配置到本地好像可以实现动态添加按钮和事件,不过是后话了,因为感觉本篇价值不大,js可以实现几乎大部分东西)

1、添加新按钮


2、插入对应事件


3、监听按钮的松开和按下事件


4、Android官方文档
https://developer.android.google.cn/?hl=ch


作者: haiyin    时间: 2021-11-22 19:52
本帖最后由 haiyin 于 2021-11-22 20:06 编辑
梦·林夕 发表于 2021-11-22 12:38
不过很多东西展示不了,我用了重力脚本就没办法用,,就是那个上下左右的按键,然后Z和X ...


我其实不建议我这边的按钮和js插件写的按钮一起用的,要么就纯用js插件写的按钮,要么就用我这种方式来编写按钮,如果要结合起来用,那么就需要避免两者的按钮位置重叠。
话说我其实出的都是教程,并且是实现了基本的方向和确定、取消功能,如果需要更添加更多按钮及对应事件,那么是可以在这基础上进行学习拓展的。
所以这种教程目前在论坛最尴尬的是看的一头雾水的会占多数,这是我这几天才察觉的,本来想屏蔽教程算了,但还是留着,可能会有懂AS和webview开发的需要的。算是回馈一点力所能及的东西给论坛吧
所以你按键功能需求不仅限于基本的方向和取消确定功能,如果懂AS,会webview,可以在此篇基础上进行拓展,如果是AS代码小白,又因时间或者其他成本暂时无法专注研究拓展,建议使用j纯s插件。

以后有机会的话我可能会制作一个动态添加按钮的及其对应事件的功能,但现在很多东西用js基本上都能实现,

最后 祝大家一切顺利,家人安康幸福-----

作者: 梦·林夕    时间: 2021-11-26 11:39
haiyin 发表于 2021-11-22 18:43
是重力脚本的按钮无法使用了,还是我这边的按钮无法使用?

不是你这个,是之前的一个手机模拟器
作者: 小侯同学    时间: 2022-1-9 15:45
大佬要是想手动调整摇杆位置该怎么办呢
作者: a3300376    时间: 2022-2-3 01:17
玩不转  但是大受震撼    支持
作者: 竹染蓝    时间: 2022-6-1 13:39
感谢大佬的Android studio项目,试了下完全没有问题,就是想问一下摇杆的颜色怎么改呀?
作者: qq983378065    时间: 2022-6-7 13:19
请教大佬一个问题,首先您的这个项目解决了之前困扰我很久的几个插件在安卓上的兼容问题,感谢大佬。但是我想问一下怎么取消这个虚拟摇杆?我个人觉得点击屏幕的方式更好操作。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1