Android Studio部署JS游戏及图片资源存放路径咨询
JS游戏「shades」迁移Android Studio操作指南
整体实现思路
JS类游戏迁移到安卓端可通过原生WebView控件加载本地前端资源实现,无需修改原有JS游戏的核心逻辑。
详细迁移步骤(附带示例)
- 创建安卓基础项目
打开Android Studio,新建项目选择「Empty Views Activity」,按需选择开发语言(Java/Kotlin均可,下文以Java为例),最小SDK版本建议选择API 21及以上,覆盖绝大多数安卓设备。 - 创建前端资源存放目录
在左侧项目面板的app/src/main节点上点击右键,依次选择「New → Folder → Assets Folder」,直接点击完成即可,系统会自动创建资源目录app/src/main/assets。 - 导入游戏资源
将你原有JS游戏的所有文件,包括入口HTML文件、JS脚本、CSS样式、图片等所有资源,保持原有文件目录结构全部拖拽到刚刚创建的assets目录下。 - 配置WebView加载游戏
- 首先在
AndroidManifest.xml中添加必要配置:
- 首先在
<!-- 若游戏需要访问互联网资源可添加该权限,纯本地游戏可省略 --> <uses-permission android:name="android.permission.INTERNET" /> <application ... <!-- 若游戏需要加载http资源可添加该配置 --> android:usesCleartextTraffic="true"> <activity android:name=".MainActivity" <!-- 开启硬件加速提升游戏渲染性能 --> android:hardwareAccelerated="true" ...> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
- 然后在
MainActivity中编写WebView加载逻辑:
import android.os.Bundle; import android.view.WindowManager; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 隐藏标题栏、开启全屏,适配游戏显示 if (getSupportActionBar() != null) getSupportActionBar().hide(); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); WebView gameWebView = new WebView(this); setContentView(gameWebView); // 配置WebView核心参数 WebSettings settings = gameWebView.getSettings(); settings.setJavaScriptEnabled(true); // 必须开启,否则JS游戏无法运行 settings.setAllowFileAccess(true); // 允许访问本地资源 settings.setDomStorageEnabled(true); // 若游戏用到本地存储需开启 settings.setMediaPlaybackRequiresUserGesture(false); // 若游戏有自动播放音频需开启 // 禁止页面跳转至外部浏览器 gameWebView.setWebViewClient(new WebViewClient()); // 加载assets下的游戏入口HTML文件,文件名替换为你实际的入口文件名即可 gameWebView.loadUrl("file:///android_asset/index.html"); } }
完成以上配置后直接运行项目即可在安卓设备/模拟器上运行你的JS游戏。
图片资源存放路径说明
你当前JS中加载图片的代码为:
var image = new Image(); image.src = "image.png";
该路径为和JS文件同级的相对路径,你只需要将image.png直接拖拽到app/src/main/assets目录下即可,无需修改原有JS代码的资源路径,WebView加载assets目录下的文件时会自动识别相对路径对应到assets的目录结构。
如果你原有资源中图片是存放在img等子目录下,只需保持原有子目录结构,将整个文件夹一起拖拽到assets目录即可,无需修改任何JS代码。
内容的提问来源于stack exchange,提问作者user14560043
相关产品推荐
相关产品推荐

