Giter Club home page Giter Club logo

dokan-app-build-script's Introduction

Dokan App Build Scripts

Commandline scripts for building customized Dokan App for a marketplace. These scripts can only be run on a Linux or Mac OS machine.

Quick Links: Dependencies | Installation | Usage | Android | iOS | Subsequent Configuration | Subsequent Build

Dependencies

Before using these scripts, a development environment needs to be configured for building a React Native app in your Machine/Server. See "React Native CLI Quickstart" section in React Native's Official Doc

Additionally, the following tools need to be installed in your system

Installation

Run this command in your terminal to install the build scripts.

wget -O - https://raw.githubusercontent.com/weDevsOfficial/dokan-app-build-script/master/setup.sh | bash

Test your installation by running any of config-android, build-android or config-ios commands

Usage

In your termial create a new directory like mkdir "My Projects" and cd into it or cd the directory where you want to save your projects. For convenience create an assets directory there and put the app icon and splash image inside the assets directory. It will be useful later on.

Android

In two steps you can generate an Android App Bundle. This is the new(and recommended) way of uploading android apps to Google Play Store. At first run config-android

It will list the parameters that are needed to be supplied with the command. The list is self explanatory.

config-android

Now run the command as follows, replacing the placeholder values with the actual ones

  config-android \
    --app-name=MyApp \
    --package-name=com.exmaple.app \
    --site-url=https://example.com \
    --wc-key=somekey \
    --wc-secret=somesecret \
    --fb-app-id=facebookappid \
    --google-geo-key=googlemapapikey \
    --stripe-pk=stripePublishableKey \
    --one-signal-id=oneSignalAppID \
    --launcher-icon=absolute/path/to/laucnher.png \
    --splash-image=absolute/path/to/splash.png

If there is spacing in the app name, surround the app name with double qoutes --app-name="My App" like this. If you have an assets directory with app icon and splash image inside, you can specify the launcher icon path and splash image path like this --launcher-icon=absoulte/path/to/assets/launcher.png and --splash-image=absoulte/path/to/assets/splash.png. Note the absolute/path/to part. Incase you want to find the absolute path of your assests directory cd into assests and then run pwd. It will print the required path.

After successful completion of the above command you will have a new Android project configured.

Now run build-android to see the list of parameters.

build-android

Now cd MyApp and run the following command. Of course replacing the placeholder values with actual ones.

  build-android \
    --first-name=John \
    --last-name=Doe \
    --city=LosAngeles \
    --state=California \
    --country=US \
    --store-password=somepassword \
    --key-password=somepassword

This will perform the code signing of the app and generate an app.aab inside MyApp/android/app/build/outputs/bundle/release/ directory. Your new app has been built and is ready to be uploaded to Google Play Store.

iOS

iOS configuration script is almost same as Android except the --google-geo-key option is not required here. Run 'config-ios' to see the list of parameters.

config-ios

Run the following command as follows

  config-ios \
    --app-name=MyApp \
    --package-name=com.exmaple.app \
    --site-url=https://example.com \
    --wc-key=somekey \
    --wc-secret=somesecret \
    --fb-app-id=facebookappid \
    --stripe-pk=stripePublishableKey \
    --one-signal-id=oneSignalAppID \
    --launcher-icon=path/to/laucnher.png \
    --splash-image=path/to/splash.png

This will download, create and configure a new iOS project. If there is already an existing project created for Android, this command will just configure the iOS project for you without downloading and creating a new one.

Note config-android and config-ios both commands are kind of complementary to each other. If you have configured for Android before, config-ios will configure the iOS project without creating a new one and vice versa. All you need to do, is to be in the same directory level where the project exists.

Subsequent Configuration

Creating and configuring a new project takes a significant amount of time. It may happen that you have passed wrong values to the arguments of config-android or config-ios command and configured the Android or iOS project. You can revert this by using the --update argument for both config-android and config-ios commands without creating a new project.

For example, you have created an Android project where the --site-url was wrong. To change this run the config-android command like this

  config-android --app-name=MyApp --site-url=newSiteUrl --update=siteUrl

Notice --update=siteUrl part. This will update the wrong --site-url with the correct ones.

You can also update multiple values at once. Assuming you want to correct the --site-url and --fb-app-id for Android, run config-android like below

  config-android --app-name=MyApp --site-url=newSiteUrl --fb-app-id=newfacebookappid --update=siteUrl,fbId

Pass the update keys in a comma separated manner to the --update argument. Only remeber there is no space after a , and the last update key should not contain a ,. The same approach applies to config-ios command.

Below is the list of available update keys

Update Keys Function Android iOS
siteUrl Updates site url
wcKeys Updates WooCommerce consumer key or consumer secret or both
fbId Updates Facebook App Id
geoKey Updates Gogole Map API key X
stripePk Updates Stripe Publishable Key
oneSingalId Updates OneSignal App ID
iconSet Generates new icon set from the updated path
splashSet Generates new splash image set from the updated path

Note: The --app-name argument is mandatory when you are trying to update. The wcKeys update key can update only --wc-key or only --wc-secret or both. For example

  config-android --app-name=MyApp --wc-key=newKey --update=wcKeys

This will only update the WooCommerce consumer key

Or

  config-android --app-name=MyApp --wc-secret=newSecret --update=wcKeys

This will only update the WooCommerce consumer secret

And

  config-android --app-name=MyApp --wc-key=newKey --wc-secret=newSecret --update=wcKeys

This will update both WooCommerce consumer key and secret.

Subsequent Build

When an existing Android or iOS project is subsequently configured, it must be built again.

To do this for Android, first cd into your project. In our example case cd MyApp. Then run build-android --update. It will generate the updated .aab for your app.

dokan-app-build-script's People

Contributors

ibnulk avatar mossalli-al-mamun avatar

Stargazers

hack-club avatar Luis Castillo avatar  avatar

Watchers

James Cloos avatar hack-club avatar Asikur Islam avatar Shams Sadek avatar Rodney Armour avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.