A pipelines it's a simple step by step roles for make somethings better.
This file is a simple annotations for custom installation of basic environment for *cordova + cordova assets + extras*.
Important note: it's under costruction and based on personal use.
A simple flow for installation of ex asset for cordova
It's based on windows/linux workflow
-
install Java JDK (tested on windows) (under test in 2023) :
-
Gradle builder not support java major of v16 so... it's better to install: JDK v15 installer
get the latest JDK resource *not recommended -
SDK and tools:
download "Command line tools only" (it's on end of page) and copy it into "%ProgramFiles%\Android"
open cmd (administrator) and enter in foldercd %ProgramFiles%\Android\cmdline-tools\bin
and get list with sdkmanager --list, so digitsdkmanager "platform-tools" "platforms;android-NN"
(NN is latest number you can see)- install android studio
- copy Platform Tools into "%USERPROFILE%\AppData\Local\Android\sdk" (if not exist, make it)
- lounch android studio and finish all standard sdk steps (or bypass it and go on next step)
- install android SDK version and build tools from Android Studio:
- Open AS, click on "more actions">"SDKMANAGER"
- on left, find "Apparence">"System settings">"Android SDK"
- select on SDK PLATFORM TAB "Android 10 (api level 29)"
- select on SDK TOOLS TAB > "Android SDK Build Tools" > "30.0.3"
-
in windows: set JAVA_HOME / [article](https://tech.amikelive.com/node-533/how-to-install-java-sdk-on- windows/) (similar to step below)
- Right click Computer
- Click the properties
- Select Advanced System Settings
- Select Environment Variables:
- on SYSTEM VARIABLE click new and add ANDROID_SDK_ROOT and
%LOCALAPPDATA%\Android\sdk
(put below all) on SYSTEM VARIABLE click new and add ANDROID_HOME and%LOCALAPPDATA%\Android\sdk
(put below all)- on SYSTEM VARIABLE click new and add JAVA_HOME and
%ProgramFiles%\Java\jdk-15.0.2
(latest jdk have high risks of compatibility issue) on SYSTEM VARIABLE click new and add JRE_HOME and%ProgramFiles%\Android\Android Studio\jre
(put below all)- on SYSTEM VARIABLE click new and add _JAVA_OPTIONS and
-Xmx512M
or better:-Xmx4608m
(or more memory) - on SYSTEM VARIABLE click on PATH and add:
%JAVAHOME%\bin
%ANDROID_SDK_ROOT%\platform-tools
%ANDROID_SDK_ROOT%\build-tools\33.0.1
if necessary:%LOCALAPPDATA%\Android\Sdk\tools\emulator
%LOCALAPPDATA%\Android\Sdk\cmdline-tools\latest\bin
- on SYSTEM VARIABLE click new and add ANDROID_SDK_ROOT and
- open terminal and verify
java -version
-
install gradle binary:
-
in linux:
get it on: gradle.org/install "Binary-only" and set it "Linux & MacOS users" on page open env with: Step 3. Configure your system environment -
in windows: gradle.org/install "Binary-only", rename folder in Grandle and copy it into "%ProgramFiles%\Gradle\bin" (or simple C: Grandle) and...
- on SYSTEM VARIABLE click on PATH and add "%ProgramFiles%\Gradle\bin"
- on terminal enter
cd %ProgramFiles%\Gradle\bin
and verifygradle -v
- on terminal enter
gradle help --scan
for all dep issue
-
-
-
ANDROID SDK ASSET (in windows) (under test):
/!\ NOT GET android 10 for retrocompatibility issue! Remain in 9 (the classic released in cordova installation) and...- download and open android studio;
- click arrow on "More Actions" > SDKManager (OR ALTERNATIVE: SKD):
- open android studio, go to "Android SDK", remove all SKD Platform and check only Android API 32 (Sv2) and Android9(Pie)
- now on SDK Tools tab remove all! and check only 3.0.3 version.
- test it in cleaned, new, cordova app with cordova build android; not recognized? cordova platform add android@7.1.1 and readd the 9.1;
-
Install Node JS:
-
in windows:
- get NVM and after reboot if system run command:
::nvm install --lts
ornvm install latest
after install:
::nvm use --lts
ornvm use latest
or run Node Installer
- get NVM and after reboot if system run command:
-
Check node istallation:
$ node -v
-
check if NPM is installed:
$ npm -v
-
if not installer run command:
$npm install -g npm@latest
-
in linux:
-
find your distro command here, for Arch is:
$pacman -S nodejs npm
and nvm is in AUR
-
-
via Apple PC:
-
install X-CODE
-
Install NVM:
'$ ls -a and check if exist action profile ”zshrc”… if not: $ touch .zshrc'
'$ curl -o- https://github.com/raw/nvm-sh/nvm/v0.39.3/install.sh | bash'
'$ source .zshrc'
'$ nvm'
'$ nvm install node --lts'
'$ nvm use node'
'$ nvm -v && node -v && npm -vv' -
Install Cordova and connect it to xcode:
'$ num install cordova -g'
'$ xcode-select --install' -
Install brew and cocoa for iOS deploy:
'$ /bin/bash -c "$(curl -fsSL https://github.com/raw/Homebrew/install/HEAD/install.sh)"'
'$ brew install ios-deploy'
'$ sudo gem install cocoapods' -
In your project, after install iOS platform, into platforms/iOS folder, you can find .xcodeproj and open it with Xcode by double click or command: '$ open ./platforms/ios/YOUR_APP_NAME.xcworkspace/'. I suggest a better way (prepare,update and open): '$ cordova prepare ios && open -a Xcode platforms/ios'
-
-
via virtual OS:
Although it's only for compiling, I would recommend an hackintosh on a dedicated partition due the poor performance of vm or Apple Pc, however...-
Follow Installation macos-virtualbox-installation-flow
-
Update system on latest version (BigSur1.1.3 or Monteray)
-
now install xcode via apple store
-
Sync in your VSCode or Atom and other (exemple your browser)
-
now install cordova on mac:
install node and npm https://treehouse.github.io/installation-guides/mac/node-mac.html
:: 'sudo npm install -g cordova'
... coming soon
-
-
Cordova first assets:
::npm i -g cordova
(or npm i -g cordova@10.0.0 or 11.0.0 or other version)
see all warning of audit fix, if you can...
::npm audit fix
after repair all deprecated, check cordova
::npm cordova -v
-
first app:
in project folder run:
::cordova create MYPROJECT com.MYPROJECT HelloWorld
add platforms in your project:
::cordova platform add browser
::cordova platform add ios
::cordova platform add android
-
first adds:
note: in theory the_ "--save"_ is deprecated; if "-dev" not work try "--production=false";- install [browser sync 2](cordova plugin add cordova-plugin-browsersync-gen2) for --live-reload:
::cordova plugin add cordova-plugin-browsersync-gen2 --save-dev
rapid check... run cordova web server:
::cordova run --live-reload
in case of windows security stop: "impossible to execute a script PS1 in Powershell" open in admin mode powershell and the system32 folder. now write: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned other option: restricted (probably currently) unrestricted remotesigned (good fo server and cordova) allsigned (not raccomended)```
- install Policy Parse
::npm install csp-parse
- install Cordova Cache
::npm i cordova-plugin-cache
install cleartext-traffic
::cordova plugin add cordova-plugin-enable-cleartext-traffic
- install files
::cordova plugin add cordova-plugin-file
- install battery status
::cordova plugin add cordova-plugin-battery-status
- install Plug-Device
::cordova plugin add cordova-plugin-device
- install Net Info
::cordova plugin add cordova-plugin-network-information
- install Globalization
::cordova plugin add cordova-plugin-globalization
- install Geo Localization
::cordova plugin add cordova-plugin-geolocation
- install Vibration
::cordova plugin add cordova-plugin-vibration
- install Whitelist (probably you not need of this after cordova 10)
::cordova plugin add cordova-plugin-whitelist
- install browser
:: `cordova plugin add cordova-plugin-inappbrowser`` - install statusbar-settings
:: `cordova plugin add cordova-plugin-statusbar`` - if you can:
- image comunication fix for android -> cleartext traffic 1 or cleartext traffic 2 or Stackoverflow discussion
- other possible:
- camera
- media capture
- make a splashscreen (not more raccomended)
- camera
- install [browser sync 2](cordova plugin add cordova-plugin-browsersync-gen2) for --live-reload:
-
open you project app folder and check config.xml and set basics inside similar to demo config.xml
for make all icons see cordova-icon:
::npm install cordova-icon -g
-
use cordova init for launch app and plugin... and so add statuts bar and system info
-
... waiting next ...
NOTES FOR PRODUCTION
- IT BETTER TO START WITH IOS
- ANDROID NEED IN cofing.xml
xmlns:android="http://schemas.android.com/apk/res/android"
in widget declaration
NOTES:
- if you try to run a cordova commands (run, build, ecc) before add platforms from zero, Node don’t run that processes. The folder of node_modules need to be empty and refilled from scratch when you download process from hub.
- Sometimes modules have a problems, try: git rm -r --cached node_modules
- Other for distribution in App Store: https://www.youtube.com/watch?v=y8_CGVL9INM