2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-04-27 04:56:48 +00:00
inventree-app/BUILDING.md
Oliver d4cff1a5b9
Barcode scanner updates (#562)
* Add BUILDING.md

* Replace scaning library

- Out with qr_code_scanner
- In with flutter_zxing

* Update specs for jdk / kotlin / gradle

- NFI what this all means?

* Refactor barcode scanning widget

* Refactor barcode overlay

* Add handlers

* Update release notes

* Fix AppBar color

* Enhance attachment widget

* remove unused import

* Improved icon

* Select theme from main drawer
2024-12-06 00:08:04 +11:00

1.6 KiB

InvenTree App Development

For developers looking to contribute to the project, we use Flutter for app development. The project has been tested in Android Studio (on both Windows and Mac) and also VSCode.

Prerequisites

To build the app from source, you will need the following tools installed on your system:

  • Android Studio (with Flutter and Dart plugins)

iOS Development

For iOS development, you will need a Mac system with XCode installed.

Java Version

Some versions of Android Studio ship with a built-in version of the Java JDK. However, the InvenTree app requires JDK 17 to be installed.

If you see any errors related to JDK version mismatch, download and install the correct version of the JDK (from the link above) and update your Android Studio settings to point to the correct JDK location:

flutter config --jdk-dir /path/to/jdk

Invoke Tasks

We use the invoke to run some core tasks - you will need python and invoke installed on your local system.

Getting Started

Initial project setup (after you have installed all required dev tools) is as follows:

Generate initial translation files:

invoke translate

Install required flutter packages:

flutter pub get

You should now be ready to debug on a connected or emulated device!

Building Release Versions

Building release versions for target platforms (either android or iOS) is simplified using invoke:

Android

Build Android release:

invoke android

iOS

Build iOS release:

invoke ios