AndroidStudio将html5打包成apk

我想将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">
&lt;application android:allowBackup=&quot;true&quot; android:icon=&quot;@mipmap/ic_launcher&quot; android:label=&quot;@string/app_name&quot; android:supportsRtl=&quot;true&quot; android:theme=&quot;@style/AppTheme&quot;&gt;
    &lt;activity android:name=&quot;.MainActivity&quot;&gt;
        &lt;intent-filter&gt;
            &lt;action android:name=&quot;android.intent.action.MAIN&quot; /&gt;

            &lt;category android:name=&quot;android.intent.category.LAUNCHER&quot; /&gt;
        &lt;/intent-filter&gt;
    &lt;/activity&gt;
&lt;/application&gt;
&lt;uses-permission android:name=&quot;android.permission.INTERNET&quot;/&gt;

</manifest>



posted @ 2024-01-19 23:26  程序员偏安  阅读(242)  评论(0编辑  收藏  举报  来源