-
Notifications
You must be signed in to change notification settings - Fork 0
2659170494/CoCo_Cordova
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
!!!在您使用本项目之前,请看完本文档!!! 0.项目介绍 您好,这是一个为一些编程猫的安卓发烧友准备的CoCo转Cordova工程! 这个工程已经帮你把CoCo_Runtime所依赖的插件和环境配置好了, 只需拆出资源文件,就可以将CoCo项目转成Cordova项目来实现更多玩法 但这个项目目前极不活跃,一般有灵感了或来issue了才会更新! 1.环境准备部分 首先准备好gradle 7、NodeJS、Android SDK 29和33(build-tools 34.0.0) 和JAVA 8、Java17, 如果您已经安装好了,可以直接跳转到下一部分。 但如果没有安装Java、NodeJS、Gradle和android sdk的话还请继续往下看, 如果您是Windows,还请自行搜索安装Android Studio、NodeJS、Java以及Grade的教程。 因为这个项目所编写的脚本都是在Linux下进行的,并没有对Windows环境进行适配和勘测。 主要原因是我的Windows剩余空间支撑不起Android项目了,我能做的支持很有限。 如果你是Linux且是Ubuntu,可以在本目录执行这条命令进行安装啦: chmod 777 install-JDK-Android_SDK.sh && sudo bash install-JDK-Android_SDK.sh 请注意,如果您有修改了脚本的安装目录并保存在了项目内,请记得添加进.gitignore, 本项目有过“因没有将安装目录添加进.gitignore导致Codespace死机且无法提取项目”的成就, 并且该脚本目前没有自动安装NodeJS的操作,就当是本项目的一个小门槛。 如果您介意的话,比较推荐您参照notepad.txt给的教程进行手动安装,但很乱而且杂。 执行脚本并且安装完毕后,会输出android sdk和java以及Gradle的安装路径, 并且安装过程中,脚本也会中途停止并提醒些事情,该行为会暂停脚本的执行以免发生意外。 之后您需要向您的环境变量中添加ANDROID_SDK_ROOT和ANDROID_HOME, 您可以参照这个命令进行修改和执行: export ANDROID_SDK_ROOT=<您的android sdk> && export ANDROID_HOME=<您的android sdk> && export JAVA_HOME=<您的JAVA 8> && export GRADLE_HOME=<您的Gradle 7> && export PATH=$PATH:<您的JAVA 17>:<您的Gradle 7>/bin 替换方式就比如“将<您的android sdk>替换成您本地安装的android sdk的路径”这样, 如果您执行过上面的安装脚本,在脚本结束后脚本会有给出它们的路径。 执行完成后再执行一遍这个命令确认路径是否正确: echo "You JAVA_HOME is :$JAVA_HOME" && echo "You GRADLE_HOME is :$GRADLE_HOME" && echo "You ANDROID_SDK_ROOT is :$ANDROID_SDK_ROOT" && echo "You ANDROID_HOME is :$ANDROID_SDK_ROOT" 确认对应变量的路径都正确之后,如果您的系统有sdkman(执行sdk这个命令有输出),还需要执行: export PATH=$(echo $PATH | sed 's#/usr/local/sdkman/candidates/java/current/bin:##' | sed 's#/usr/local/sdkman/candidates/gradle/current/bin:##' | sed 's#/usr/local/sdkman/candidates/maven/current/bin:##' | sed 's#/usr/local/sdkman/candidates/ant/current/bin:##' | sed 's#/home/codespace/java/current/bin:##') (不推荐直接执行chmod 777 delete_sdkman_env.sh && ./delete_sdkman_env.sh ,亲测无效,环境变量不会被修改) 否则就可以进入下一部分啦~~ (如果您fork了项目并且没有改名CoCo_Coreova,又或者直接在我的仓库里创建了codespace, 那么可以直接执行codespace_auto_set_android_sdk.sh) 2.编译部分 配置完上面的所需运行环境后, 先将要转换的coco项目所打包的apk解压出来, 把里面的assets里的www文件夹复制出来,覆盖到本项目www文件夹。 并且删除本项目www文件夹中的cordova.js、cordova_plugins.js、plugins和cordova-js-src. 之后回到项目根目录,执行npm install ,安装本项目的依赖包。 如果没有安装过Cordova,就执行npm install cordova -g安装cordova到全局。 不要用npm i cordova 等之类的将cordova安装至项目, 那会破坏掉项目的node_modules和plugins文件夹 如果您破坏了,请执行git reset --hard或重新克隆本项目一遍. 之后执行java -version ,确认执行的Java二进制文件在17以上, 然后执行echo $JAVA_HOME ,并确认您JAVA_HOME的JDK版本为1.8, 随后执行cordova platform add android@9 , 安装完成后,接着执行cordova platform remove android 或cordova platform rm android , 卸载完成后,再重新执行cordova platform add android@9 激活hook脚本, 然后运行一次cordova build android , 如果遇到A problem occurred evaluating project ':app'. 并且包含org/gradle/initialization/BuildCompletionListener 请再运行一次cordova build android ,通常这是初始化项目导致的。 看到出现绿色的BUILD SUCCESSFUL,就是编译成功了呢。 编译的apk文件可以在builds或platforms/android/app/build/outputs/apk/debug的文件夹找到。 3.升级建议部分 当然,如果您想要编译最新版的android版本, 就需要先确认您JAVA_HOME的JDK版本为11以上(建议JDK17,本人仅在该版本下测试并开发), 检查Android SDK的Build-tools是最新版本之后, 执行 cordova platform remove android 然后 cordova platform add android 安装最新的Cordova-android后再尝试cordova build android 但由于gradle 9已弃用org.gradle.util,cordova-android9已无法正常编译 执意使用最新版的android版本意味着遇到问题只能您自行修复, 本脚本因gradle和cordova,无法保证正常适配新版本, 若有问题,可翻阅底部查看更多帮助或提问咨询。 4.操作建议部分 如果编译成功的话,说明您的项目配置已经成功了。 你可以通过这个命令检查依赖配置: cordova requirements 之后您就可以基于本项目开发额外的扩展了,不过在开发之前记得检查一下项目目录的.gitignore 确认下里面没有你将要会使用的文件夹名字,因为如果它存在里面,那么文件夹和文件将不会被提交到git上。 如果您遇到插件上的问题,可以先"cordova platform remove android" 然后再重新安装一遍,大部分原因很可能是负责hook处理依赖的脚本没有被正确运行. 5.改编建议部分 本项目主要针对于为Cordova-android@9以及cordova-android@13及以上的版本设计, 目标是想向上兼容的同时,可切换cordova-android版本向下兼容,如安卓8.0、6.0。 高版本也可以运行低版本cordova-android,不过有些插件和API(如全屏启动图)可能无法适用。 如需自定义请自行参考cordova教程本工程仅作为修改模板参考。 如果您要用ios项目的话,目前暂时适配的版本是: Apple macOS@darwin Xcode@14.2 cordova-ios@7.1.1 cocoapods@1.15.2 ios-deploy@1.12.2 6.联系帮助部分 一些编译上的问题,还有笔记以及注意事项,也可以查看同目录的notepad.txt哇。 也可以查看同目录中的hooks文件夹,那里面包含我对一些代码错误的一些修改脚本. 如有需要或者遇到问题,可以提交issue获得帮助! 或者加入编程猫CoCo编辑器QQ交流群(861247613),寻找绿色耀西(薄荷本兽)。 这样可以更快获得帮助!
About
CoCo Runtime to Cordova
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published