cordova 打包流程

cordova 打包流程

默认在安装完所有环境下。仅供自己参考之用
一些遇到的问题: https://blog.csdn.net/qq_43706089/article/details/119107094

新建项目(在业务目录)

cordova create app com.music.app app

生成项目(在生成的目录下)

cordova platforms add android --save

在Cordova项目下新建目录 res

目录结构:

  <icon density="ldpi" src="res/icon/android/mipmap-ldpi/ic_launcher.png" />
  <icon density="mdpi" src="res/icon/android/mipmap-mdpi/ic_launcher.png" />
  <icon density="hdpi" src="res/icon/android/mipmap-hdpi/ic_launcher.png" />
  <icon density="xhdpi" src="res/icon/android/mipmap-xhdpi/ic_launcher.png" />
  <icon density="xxhdpi" src="res/icon/android/mipmap-xxhdpi/ic_launcher.png" />
  <splash density="port-hdpi" src="res/screen/android/loading.png" />
  <splash density="port-ldpi" src="res/screen/android/loading.png" />
  <splash density="port-mdpi" src="res/screen/android/loading.png" />
  <splash density="port-xhdpi" src="res/screen/android/loading.png" />

制作icon网址:https://icon.wuruihong.com/

安装 启动图和图标插件

 cordova plugin add cordova-plugin-splashscreen

修改 根目录下的 config.xml

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.music.app" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>app</name>
    <description>
        A sample Apache Cordova application that responds to the deviceready event.
    </description>
    <author email="dev@cordova.apache.org" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <content src="index.html" />
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <platform name="android">
        <allow-intent href="market:*" />
		
		// ---------------------- 添加以下代码 -------------------------
      <preference name="AndroidPersistentFileLocation" value="Compatibility" />
      <preference name="SplashScreenDelay" value="3000" />
      <preference name="FadeSplashScreen" value="true"/>
      <preference name="FadeSplashScreenDuration" value="750"/>

      <icon density="ldpi" src="res/icon/android/mipmap-ldpi/ic_launcher.png" />
      <icon density="mdpi" src="res/icon/android/mipmap-mdpi/ic_launcher.png" />
      <icon density="hdpi" src="res/icon/android/mipmap-hdpi/ic_launcher.png" />
      <icon density="xhdpi" src="res/icon/android/mipmap-xhdpi/ic_launcher.png" />
      <icon density="xxhdpi" src="res/icon/android/mipmap-xxhdpi/ic_launcher.png" />

      <splash density="port-hdpi" src="res/screen/android/loading.png" />
      <splash density="port-ldpi" src="res/screen/android/loading.png" />
      <splash density="port-mdpi" src="res/screen/android/loading.png" />
      <splash density="port-xhdpi" src="res/screen/android/loading.png" />
	  
	  // ---------------------- 结束 -------------------------
    </platform>
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
    </platform>
</widget>

修改 \platforms\android\app\src\main 下的AndroidManifest.xml

<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="10000" android:versionName="1.0.0" package="com.music.huicai" xmlns:android="http://schemas.android.com/apk/res/android">
    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
    <uses-permission android:name="android.permission.INTERNET" />
	
	// --------------------------- 添加的代码 权限 --------------------------
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.hardware.camera" />
    <uses-permission android:name="android.hardware.camera.autofocus" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.FLASHLIGHT" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
    <uses-permission android:name="android.permission.READ_SMS" />
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_SMS" />
	
	// --------------------------- 结束 --------------------------
	
	// --------------------------- 添加的代码 可以使用http的网络请求 ,否则当服务器是http时,会请求不到数据 --------------------------
	
	android:usesCleartextTraffic="true"
	
	// --------------------------- 结束 --------------------------
	
    <application android:hardwareAccelerated="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:usesCleartextTraffic="true">
        <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize">
            <intent-filter android:label="@string/launcher_name">
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

生成签名

keytool -genkey -v -keystore app.keystore -alias app -keyalg RSA -validity 36500

在 根目录 添加 build.json 用来添加签名

{

"android": {

"release": {

"keystore": "app.keystore",

"alias": "app",

"storePassword": "111111",

"password": "111111"

}

}

}

打包VUE 项目

npm run build

将vue dist 目录下 的金泰文件放到app项目的www下,把Cordova生成的删除

生成app

cordova build android --release
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值