1. 下载 android studio(略):
    https://developer.android.com/studio
  2. 创建新项目:
    1. 选择 Create New Project:
    2. 选择 Empty Activity:
    3. 输入项目名称,选择开发语言(JAVA):
  3. 设置 项目名称:
    1. 保证 manifests/AdroidMainifest.xml 中的 label 值引用了 @string/app_name 配置:
    2. 修改 res/values/strings.xml 中属性名为 app_name 的配置项:
  4. 设置 项目图标:
    1. res/mipmap 中新建 Image Asset
    2. 配置 前景图 和 背景图:
  5. 设置 启动图片:
    1. 在项目中创建 Empty Activity,命名为 Splash


    2. 将 背景图片 导入到 res/drawable 目录中:
    3. 修改 res/layout/activity_splash.xml 文件:
      <?xml version="1.0" encoding="utf-8"?>
      <androidx.constraintlayout.widget.ConstraintLayout 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=".Splash">
      <ImageView
       android:id="@+id/imageView"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:contentDescription="@string/app_name"
       app:layout_constraintBottom_toBottomOf="parent"
       app:layout_constraintEnd_toEndOf="parent"
       app:srcCompat="@drawable/beijing" />
      </androidx.constraintlayout.widget.ConstraintLayout>
    4. 修改 Splash 中的代码如下:
      package com.example.test;
      import android.content.Intent;
      import android.os.Bundle;
      import android.view.WindowManager;
      import androidx.appcompat.app.AppCompatActivity;
      public class Splash extends AppCompatActivity {
      @Override
      protected void onCreate(Bundle savedInstanceState) {
       super.onCreate( savedInstanceState);
       getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
       getSupportActionBar().hide();
       setContentView(R.layout.activity_splash);
       Thread myThread=new Thread(){
           @Override
           public void run() {
               try{
                   sleep(3000);
                   Intent it = new Intent(getApplicationContext(),MainActivity.class);
                   startActivity(it);
                   finish();
               }catch (Exception e){
                   e.printStackTrace();
               }
           }
       };
       myThread.start();
      }
      }
    5. 修改 manifests/AndroidManifest.xml 中的内容如下:
      <?xml version="1.0" encoding="utf-8"?>
      <manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.example.test">
      <uses-permission android:name="android.permission.INTERNET" />
      <application
       android:allowBackup="true"
       android:icon="@mipmap/ic_launcher"
       android:label="@string/app_name"
       android:roundIcon="@mipmap/ic_launcher_round"
       android:supportsRtl="true"
       android:theme="@style/Theme.Test">
       <activity android:name=".MainActivity">
       </activity>
       <activity android:name=".Splash">
           <intent-filter>
               <action android:name="android.intent.action.MAIN" />
               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
       </activity>
      </application>
      </manifest>
  6. 运行 h5项目:
    1. 创建 assets 文件夹:
    2. 将 h5项目 放入 assets 目录中:
    3. 修改 MainActivity 中的代码如下:
      package com.example.test;
      import android.annotation.SuppressLint;
      import android.os.Bundle;
      import android.view.KeyEvent;
      import android.webkit.WebChromeClient;
      import android.webkit.WebView;
      import androidx.appcompat.app.AppCompatActivity;
      public class MainActivity extends AppCompatActivity {
      private WebView webview;
      @SuppressLint("SetJavaScriptEnabled")
      @Override
      protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       webview = new WebView(this);
       webview.getSettings().setJavaScriptEnabled(true);
       webview.getSettings().setLoadsImagesAutomatically(true);
       webview.getSettings().setAppCacheEnabled(true);
       webview.getSettings().setUseWideViewPort(true);
       webview.getSettings().setBuiltInZoomControls(true);
       webview.setWebChromeClient(new WebChromeClient() {});
       webview.loadUrl("file:///android_asset/index.html");
      //        webview.loadUrl("https://www.baidu.com");
       setContentView(webview);
      }
      public boolean onKeyDown(int keyCode, KeyEvent event) {
       if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
           webview.goBack();
           return true;
       }
       return false;
      }
      }
    4. 运行项目:

  7. 使用 chrome 调试 webview:
    1. 在 chrome 地址栏 输入 chrome://inspect
    2. 选择要调试的项目,点击 inspect

  8. 打包生成 apk:
    1. 选择 Build >> Generate Signed Bundle / APK...
    2. 选择 APK
    3. 点击 Create new...
    4. 填写 保存路径、密码、名称 等基本信息:
    5. 点击 Next
    6. 填写 发布路径、发布方式(debug / release)、勾选 发布版本:
      debug:安装之后可以使用 chrome 进行调试
    7. 点击 Finish,编译之后可以打开 APK 文件的路径:
文档更新时间: 2021-01-29 19:10   作者:lee