The AppStore App is used to store Apps, Firmware, Software and App Platforms and these can be downloaded afterwards from the app itself or from the download page. To upload a new release to the AppStore App, 3 uploads must be done: one for the Apps, one for the Firmware and one for the Software. For every app, device and software there must be a file named like itemID_files, which contains the names of the binaries that should be uploaded to the AppStore App for this item.
The add of a new app the Add button must be clicked (upper-right corner). After that, a dialog like this one will be displayed:
The ID must be unique and there should be a file named id_files which contains the names of the files that must be uploaded for the given app.
The Path should point to where the folders for the builds are. Those folders must contain the id_files file and 3 folders: arm, arm64 and x86_64.
The Folder must be the name of the folder inside arm, inside arm64 and inside x86_64, which contains the binaries and Binary must be the name of the binaries (in this case, apidemo.bin, apidemo.debug and apidemo.png).
So the whole path of the binaries should be something like: path/build_number/arm/folder/binary.bin
The add of a new firmware the Add button must be clicked (upper-right corner). After that, a dialog like this one will be displayed:
The Name must be the id of the firmware and Project is the name of the folder that contains the builds.
The Path must point to the folder that contains the folders for the builds (which should contain the binaries and the id_files file for the given device). If the id_files file is not found, the boot and ip files will be uploaded as default.
The add of a new software the Add button must be clicked (upper-right corner). After that, a dialog like this one will be displayed:
The ID must be unique and there should be a file named id_files which contains the names of the files that must be uploaded for the given software. If this file is not found, the one specified on Binary will be uploaded.
The Path must point to the folder that contains the binaries of the given software and the id_files file.
The add of a new app platform the Add button must be clicked (upper-right corner). After that, a dialog like this one will be displayed:
The Path should point to where the folder called "app-platform" is placed, which contains the builds for the given app platform. The ID must be unique and the fields File, Update file, First ZIP file and second ZIP file can be used to specify which files must be uploaded for the given app platform.
The upload of a new build for the apps can be done with the upload menu, which is displayed by clicking on the Update button (upper-right corner). To upload the build for all the current apps on the AppStore App, click on Select all and edit the Release, Build and Label data on the first row. The changes will be automatically applied to all the apps. With the Upload button the binaries of the selected apps are uploaded to the AppStore App.
If an error is displayed after the upload saying that some file could not be found, please check if the path of the apps are correct. These should be like this one (where xxxx is the id of the app):
The upload of a new build for the firmware can be done with the upload menu, which is displayed by clicking on the Update button (upper-right corner). To upload the build for all the current devices on the AppStore App, click on Select all and edit the Release, Build, SR and Wiki (optionally) data on the first row. The changes will be automatically applied to all the devices. With the Upload button the binaries of the selected devices are uploaded to the AppStore App.
If an error is displayed saying that some file could not be found, please check the path of the device. This should be like this one (where ipxxxx is the id of the project):
The upload of a new build for the software can be done with the upload menu, which is displayed by clicking on the Update button (upper-right corner). To upload the build for all the current softwares on the AppStore App, click on Select all and edit the Release, Build and Label data on the first row. The changes will be automatically applied to all the software. With the Upload button the binaries of the selected softwares are uploaded to the AppStore App.
If an error is displayed saying that some file could not be found, please check the path of the software. This should be like this one (where xxxx is the folder containing the binaries of the given software and the id_files file):
The upload of a new build for the app platform can be done with the upload menu, which is displayed by clicking on the Update button (upper-right corner). To upload the build for all the current app platforms on the AppStore App, click on Select all and edit the Version data on the first row. The changes will be automatically applied to all the app platforms. With the Upload button the binaries of the selected items are uploaded to the AppStore App.
If an error is displayed saying that some file could not be found, please check the path of the item. This should be like this one, which points to a folder called "app-platform" that contains the builds for the given app platform):
Another AppStore App can be used as a source, so other AppStore Apps can get items from there.
To add a new source, the Hamburger-Menu button must be clicked and the option Configure sources must be selected.
After that, the button Connect source will display a dialog to add a new source. There the most important field is the path, with should be the path from the source AppStore ending with "/download".
To add items from the source AppStore App to your own one, you just have to expand the list and select the items that you want to get. After that, they will be uploaded after clicking on the Upload button.
A source can be deleted at any moment using the Delete button without losing the items that have already been uploaded.
When a new build is available for a certain item, a green button will be displayed, which can be used to upload the latest build to your AppStore App. If this button is not clicked, the latest builds are uploaded once a day automatically.
To upload apps, firmwares, softwares and app platforms a path is required, which has to point to a folder that contains the builds. These must be named after the build number.
Every build folder must contain an appid_files file where a list of the files that must be uploaded will be splited by commas (without white spaces). For example, "appstore.bin,appstore.debug,appstore.png". The binaries must be placed inside 2 folders which paths should look like this:
Every build folder must contain an firmwareid_files file where a list of the files that must be uploaded will be splited by commas (without white spaces). For example, "ip0001.bin,boot0001.bin". So if path is the path given in the appstore, the paths of all the files must be:
Every build folder must contain an softwareid_files file where a list of the files that must be uploaded will be splited by commas (without white spaces). For example, "myAppsSetup.exe". So if path is the path given in the appstore, the paths of all the files must be:
The files that must be uploaded should be specified inside the fields File, Update, ZIP and ZIP2. Those must be inside a folder named as the build number, which is inside a folder named app-platform. So if path is the path given in the appstore, the paths of all the files must look like:
For apps, firmwares, softwares and app platforms a JSON file is generated, where all the items present on the App Store are declared.
This files are used by Devices App and Manager App to know which versions are available on the App Store.
They are also used to know which items are available when cascading from another App Store.
The apps.json file includes a list with all the available apps.
{ "apps": [{
"id": "manufacturer_apidemo",
"folder": "apidemo",
"binary": "apidemo",
"versions": [
{"id": "13r1","build": "130001","label": "sr01"},
{"id": "13r2","build": "134003","label": "sr01"}
],
"manufacturer": "manufacturer",
"title": "Apidemo",
"description": "This is a demo app.",
"support": "support@manufacturer.com",
"impressum": "https://www.manufacturer.com/impressum.html",
"license_type": "free",
"license_info": "",
"eula": "https://www.manufacturer.com/eula.html",
"langs": ["cs","nl","en","fr","de","it","pl","pt","ru","sl","es"],
"categories": ["administration","tools"]
}]
}
The firmware.json file includes a list with all the available devices and their lastest versions for every release.
Devices array
{ "devices": [{
"id": "IP0010",
"versions": ["10.00","13r1"]
},
{
"id": "IP0011",
"versions": ["10.00","13r1"]
}],
"versions": [{
"id": "10.00",
"build": "100017",
"text": "10.00 sr01 [100017]",
"wiki": "http://wiki.innovaphone.com/index.php?title=Howto:Firmware_Upgrade_V9_V10"
},
{
"id": "13r1",
"build": "130001",
"text": "13r1 sr01 [130001]",
"wiki": "https://wiki.innovaphone.com/index.php?title=Howto:Firmware_Upgrade"
}]
}
The software.json file includes a list with all the available softwares.
{ "software": [{
"id": "manufacturer_toolbox",
"folder": "toolbox",
"binary": "toolbox",
"versions": [
{"id": "13r1","build": "130001","label": "sr01"},
{"id": "13r1","build": "130003","label": "sr02"}
],
"manufacturer": "manufacturer",
"title": "Toolbox",
"description": "This is a demo software."
}]
}
The linux.json file includes a list with all the available platforms and another list with all the devices that can install those platforms.
Platforms array
{ "platforms": [{
"id": "arm",
"text": "App Platform",
"file": "app-platform/10001/app-platform-armel.img",
"update": "app-platform/10001/update-armel.img",
"version": "10001"
}],
"devices": [{
"id": "IP0011",
"platforms": ["arm"]
},
{
"id": "IP811",
"platforms": ["arm"]
}]
}