cordova--安卓打包
打包App
- 创建一个文件夹 CD进入
- cordova create esps com.mosesceo.ESPSApp ESPSApp -d
ESPSApp是项目的名字,com.mosesceo.ESPSApp是APP的包名,可以随意取,最好按照“com.” 开头
-
cd esps
-
cordova platform add android
cordova platform remove android
- cordova platform add ios
- cordova build
打包如果想要加密钥签名看下面
说说目录中文件的用处
+ hooks:里面就一个readme.md文件,没什么卵用
+ platfroms:通过cordova platforms add android 添加的安卓相关文件就放在里面,这个文件夹比较重要,打包生成的apk也在这个文件夹下
+ plugins:cordova安装的插件在此文件夹下
+ res:存放资源文件,我没有用到过
+ www:这个文件下写我们的项目,如html,js,css等代码
+ .npmignore:忽略文件,没什么用处
+ config.xml:打包项目的配置文件,可以修改APP的包名,应用名称等
密钥签名写法
- 根目录cordova build --release android
- 生成:android-release-unsigned.apk 复制出来
- keytool -genkeypair -alias 密钥名字.keystore -keyalg RSA -validity 4000 -keystore 密钥名字.keystore
会出现在根目录一个密钥复制一下 > 里面一路回车+ 最后y
- 根目录创建一个文件夹将 2、3两个文件复制进入,cd进入该文件夹输入
- jarsigner -verbose -keystore 密钥名字.keystore -signedjar 打包后名字.apk 2打包出来的原始文件名字.apk 密钥名字.keystore
1. keytool -genkeypair -alias A.keystore -keyalg RSA -validity 4000 -keystore A.keystore(A是你的将要打包的A的原apk的签名名称)
keytool -genkeypair -alias name.keystore -keyalg RSA -validity 4000 -keystore name.keystore
2. jarsigner -verbose -keystore A.keystore -signedjar C.apk B.apk A.keystore(B是你apk的名称,C是你想要得到的重新打包的apk文件)
jarsigner -verbose -keystore name.keystore -signedjar name.apk name_unsigned.apk name.keystore
如果打不开核实名字
https://blog.csdn.net/u013396632/article/details/70306379
如果设置一台设备两个端问题
删除掉重新安装文件将包名给换掉
- cordova create esps com.mosesceos.ESPSApp ESPSApp -d
cordova项目生成的android平台和ios平台
android packageName和ios bundle id会默认使用根目录下config.xml里widget元素里id的属性值
最近因为总总原因,android packageName和ios bundle id需要不同
其实官方文档有说明可以配置,链接:http://cordova.apache.org/docs/en/latest/config_ref/index.html
<widget id="com.xxx.xxx" android-packageName="com.android.xxx" ios-CFBundleIdentifier="com.ios.xxx"
修改图片部分
在platforms\android\res
搜索所有的icon.png文件
覆盖成自己的
修改名字部分
config.xml文件
<?xml version='1.0' encoding='utf-8'?>
<!-- 在这里修改 -->
<widget id="com.mosesceos.app" android-packageName="com.android.mosesceos" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>工程师服务平台</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" />
<plugin name="cordova-plugin-whitelist" spec="1" />
<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:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
<engine name="android" spec="^7.0.0" />
</widget>