AndroidStudio将html5打包成apk

来源:互联网 发布:js中var是什么意思 编辑:程序博客网 时间:2024/06/05 10:28

我想将html5的动画效果打包成手机app,以方便传播。而在android开发的组件中就直接由webview可以访问网页,另外在android工程中,assets文件夹下的内容是不会在被编译的,因此可以将已经做好的html5的项目放在该文件夹下,由webview控件打开该文件夹下的index.html,这样就可以实现html5打包成安卓的apk了。

1、修改MainActivity.java,内容如下:

package com.example.admin.yourProjectName;//改成你的项目名import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.app.Activity;import android.view.KeyEvent;import android.webkit.WebView;public class MainActivity extends AppCompatActivity {    private WebView webview;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        //实例化WebView对象        webview = new WebView(this);        //设置WebView属性,能够执行Javascript脚本        webview.getSettings().setJavaScriptEnabled(true);        //加载需要显示的网页       //webview.loadUrl("file:///android_asset/index.html");//显示本地网页        webview.loadUrl("https://www.baidu.com");//显示远程网页        //设置Web视图        setContentView(webview);    }    @Override//设置回退    public boolean onKeyDown(int keyCode, KeyEvent event) {        if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {            webview.goBack(); //goBack()表示返回WebView的上一页面            return true;        }        return false;    }}注:如若显示本地网页,需要在Project视图中app文件夹上右键->new->Folder->Assets Folder.然后将本地网页的各个文件复制到生成的assets文件夹下,将webview.loadUrl("file:///android_asset/.........");改为对应的本地Url即可。

2、 修改在AndroidManifest.xml文件中添加访问网络的权限:在标签前添加

<uses-permission android:name="android.permission.INTERNET"/>

即可。

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.admin.yourProject">    <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme">        <activity android:name=".MainActivity">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application>    <uses-permission android:name="android.permission.INTERNET"/></manifest>


原创粉丝点击