Cocos creator构建web-moblie 封装到android studio中启动
构建的版本采用 使用21 api版本 5.0
可能的问题:影响到其它事件功能的无非实现 *如果 请升级语法
本次构造和启动为 远程url的形式加载启动
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><WebViewandroid:id="@+id/webview"android:layout_width="match_parent"android:layout_height="match_parent" />
</RelativeLayout>
这里需要改写 视图区域的代码,整体复制即可
MainActivity.java
package com.example.fishigame;import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.graphics.Bitmap;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;public class MainActivity extends AppCompatActivity {private WebView mywebView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//________________________________//mywebView=(WebView)findViewById(R.id.webview);mywebView.setWebViewClient(new WebViewClient());mywebView.loadUrl("http://q.diaoyudaheng.cn");WebSettings webSettings=mywebView.getSettings();webSettings.setJavaScriptEnabled(true);}public class mywebClient extends WebViewClient{@Overridepublic void onPageStarted(WebView view, String url, Bitmap favicon){super.onPageStarted(view,url,favicon);}@Overridepublic boolean shouldOverrideUrlLoading(WebView view,String url){view.loadUrl(url);return true;}}@Overridepublic void onBackPressed(){if(mywebView.canGoBack()) {mywebView.goBack();}else{super.onBackPressed();}}
}
写入的地方
import android.graphics.Bitmap;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
几个引入库
写方法里
private WebView mywebView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//________________________________//mywebView=(WebView)findViewById(R.id.webview);mywebView.setWebViewClient(new WebViewClient());mywebView.loadUrl("http://q.diaoyudaheng.cn");WebSettings webSettings=mywebView.getSettings();webSettings.setJavaScriptEnabled(true);}public class mywebClient extends WebViewClient{@Overridepublic void onPageStarted(WebView view, String url, Bitmap favicon){super.onPageStarted(view,url,favicon);}@Override //↓这是一个只能在24api 7.0 版本前可以使用的语法// 如果你需要更高级的支持,自己搜索一下public boolean shouldOverrideUrlLoading(WebView view,String url){view.loadUrl(url);return true;}}@Overridepublic void onBackPressed(){if(mywebView.canGoBack()) {mywebView.goBack();}else{super.onBackPressed();}}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.fishigame"android:targetSandboxVersion="1"><uses-permission android:name="android.permission.INTERNET"></uses-permission><applicationandroid:allowBackup="true"android:usesCleartextTraffic="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.FishiGame"><activityandroid:name=".MainActivity"android:exported="true"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>
如果你的 apk 拖入虚拟机或真机中
出现崩溃或者 net::error的错误
请看上面的代码中android:targetSandboxVersion="1"> 是语法小数
以及android:usesCleartextTraffic="true"
就可以屏蔽到前面的错误
然后apk就能正常启动
不过apk正常启动以后
还需要你通过 build release版本才行
然后一路next next fish 就可以
最后拖入启动
大功告成