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

被折叠的 条评论
为什么被折叠?



