文档参见: http://cordova.apache.org/docs/en/latest/guide/overview/index.html
#cordova create <PATH> [ID [NAME [CONFIG]]] [options] cordova create demo net.tyio.c "My App" cordova platform add android cordova build android
官方的签名步骤有点问题,经验先记下来。
#生成自己的签名
#==> gen-my-key.sh <==
rm -f q.keystore
keytool -genkey \
-storetype pkcs12 \
-alias q \
-validity 36500 \
-storepass qqqqqq \
-dname "CN=cordova.tyio.net, OU=t, O=t, L=bj, ST=bj, C=china" \
-keystore q.keystore
#打包未签名的apk
#==> build.sh <==
cordova build android --release
#最后再签名
#==> sign.sh <==
cp platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk app.apk
jarsigner -keystore q.keystore -storepass qqqqqq \
app.apk \
q
exit
cordova 会把
./platforms/android/platform_www/ ./www
下的数据(视情况 release or debug)都拷贝到
./platforms/android/app/build/intermediates/assets/release/www/ ./platforms/android/app/build/intermediates/assets/debug/www/
然后再打包apk。
我们可以打包一个最简的apk,然后所有的逻辑都走在线,操作如下:
正常 build 后,拷贝 ./platforms/android/app/build/intermediates/assets/release/www/* 到网站目录,
修改 config.xml
<content src="https://cordova.tyio.net" />
清空 www,再build,出一个 apk。
mkdir src podman run -v ./src:/opt/src -it hamdifourati/cordova-android-builder bash # ... cordova create k cordova platform add android cordova build android
config.xml
<?xml version='1.0' encoding='utf-8'?>
<widget id="net.tyio.k" version="1.1.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>k</name>
<content src="https://k.tyio.net" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
</widget>
以下不用看了。
yum install java java-devel # 去 https://gradle.org/releases/ 下载 gradle wget https://downloads.gradle.org/distributions/gradle-4.10.3-bin.zip unzip gradle-*-bin.zip ln -s xxx/gradle-xxx/bin/gradle /usr/bin # cordova 编译时,又会自己去下载 4.1 版的,原因未知... # 下载 android sdk https://developer.android.com/studio/#downloads Command line tools only cd /opt wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip mkdir android && cd android && unzip ../sdk-tools*.zip chown -R q android # 查看合适的 build-tools 版本 ./tools/bin/sdkmanager --list # 安装 build-tools ./tools/bin/sdkmanager 'build-tools;28.0.3' # 需要用的时候, 激活环境 export ANDROID_HOME="/opt/android" export ANDROID_SDK_ROOT="/opt/android" # 激活后, 就可以正常编译了 cordova build android
https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview
cordova 8.x 不兼容,所以:
npm i -g cordova@7
如果需要启用 crosswalk, 则:
cordova plugin add cordova-android-support-gradle-release cordova plugin add cordova-plugin-crosswalk-webview
集成 crosswalk 如果遇到 Failed to execute aapt 错误, 则:
cordova plugin add cordova-android-support-gradle-release
参考: https://stackoverflow.com/questions/49183917/failed-to-execute-aapt-with-cordova
Lite 版(好像没效)
cordova plugin add cordova-plugin-crosswalk-webview --variable XWALK_MODE="lite"