-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathdistributiontool.html
More file actions
235 lines (235 loc) · 10.1 KB
/
Copy pathdistributiontool.html
File metadata and controls
235 lines (235 loc) · 10.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>SmallBASIC | distributiontool</title>
<meta name="description" content="SmallBASIC | One more basic">
<link rel="canonical" href="/distributiontool.html">
<link rel="keywords" href="distributiontool">
<link rel="stylesheet" href="/css/style.css">
<link rel="icon" type="image/png" href="/images/sb-desktop-32x32.png">
<script src="/clipboard.js"></script>
</head>
<body>
<button onclick="topFunction()" id="BackToTopBtn" title="Go to top">⯅</button>
<script src="/backtotop.js"></script>
<div class="wrapAll clearfix">
<nav class="navigation">
<div class="logo">
<a href="/"><img src='/images/sb-logo.png?v=2' alt="logo"></a>
</div>
<div class="navlinks">
<a href="/pages/download.html">Download</a>
<a href="/pages/news.html">News</a>
<a href="/pages/community.html">Community</a>
<a class='active' href="/pages/articles.html">Resources</a>
<a href="/pages/reference.html">Language Reference</a>
<a href="/pages/guide.html">SmallBASIC Manual</a>
</div>
</nav>
<div class="mainsection">
<div class="tabs clearfix">
<div class="tabsRight">
<a target="_github" href="https://github.com/smallbasic/smallbasic.github.io/blob/master/_build/pages/distributiontool.markdown">Edit</a>
<a target="_github" href="https://github.com/smallbasic/smallbasic.github.io/commits/master/_build/pages/distributiontool.markdown">History</a>
</div>
</div>
<div class="article">
<h1 id="distribution-tool-for-smallbasic">Distribution Tool for
SmallBASIC</h1>
<p>Package your SmallBASIC program with all the files needed and share
the package with your friends. The packages for Windows contain an
exe-file for starting your program. The Linux AppImage can be directly
executed. Android apk can be uploaded to the Google play store or
transfered via USB to an android device.</p>
<p>The following packages can be created:</p>
<ul>
<li>Distribution Tool for Windows:
<ul>
<li>Package as a directory for Win64</li>
<li>Self extracting zip file for Win64</li>
</ul></li>
<li>Distribution Tool for Linux
<ul>
<li>Package as a directory for Win64</li>
<li>Self extracting zip file for Win64</li>
<li>AppImage for Linux</li>
</ul></li>
<li>Distribution Tool for Android
<ul>
<li>Signed Android apk</li>
</ul></li>
</ul>
<h2 id="how-to-use">How to use</h2>
<h3 id="distribution-tool-for-windows">Distribution Tool for
Windows</h3>
<figure>
<img
src="https://github.com/Joe7M/smallbasic.DistributionTool/raw/main/screenshot/screenshot.png"
alt="Screenshot of Distribution Tool" />
<figcaption aria-hidden="true">Screenshot of Distribution
Tool</figcaption>
</figure>
<ul>
<li>Download the newest release of the <a
href="https://github.com/Joe7M/smallbasic.DistributionTool/releases">Distribution
Tool for Windows (zip file)</a></li>
<li>Extract the zip file and start <em>DistributionTool.exe</em></li>
<li><em>Source Directory</em>: Directory where your SmallBASIC program
and all the assets are located</li>
<li><em>Destination Directory</em>: Directory where the final packaged
program should be saved.</li>
<li><em>Name of Basic File</em>: The name of your basic file. If you
have several basic files, then give the one which should be
started.</li>
<li><em>Name of Program (without .exe)</em>: The name of the final
executable file. Please don’t add .exe. This will be done
automaticlly.</li>
<li>Package Version:
<ul>
<li><em>Windows - Package Directory</em>: All files are copied to a
directory. You will find a .exe file for executing your program and a
DATA folder with all necessary files. Please don’t rename or delete the
DATA folder.</li>
<li><em>Windows - Self Extracting Archive</em>: A self extracting
archive (using 7z) will be created. After running the archive exe a
folder similar to Windows - Package Directory will be created.</li>
</ul></li>
<li>SmallBASIC Version:
<ul>
<li><em>SDL2 (sbasicg)</em>: choose if your program is written for the
SDL version of SmallBASIC</li>
<li><em>Console (sbasic)</em>: choose if your program is written for the
console version (i.e. when using plugins like raylib or nuklear)</li>
</ul></li>
<li>Click the button <em>Package my Program</em></li>
</ul>
<h3 id="distribution-tool-for-linux">Distribution Tool for Linux</h3>
<ul>
<li>Download the newest release of the <a
href="https://github.com/Joe7M/smallbasic.DistributionTool/releases">Distribution
Tool for Linux (AppImage file)</a></li>
<li>Start the AppImage file (it might be necessary to make it
executable: _chmod a+x DistributionTool*.AppImage_ )</li>
<li><em>Source Directory</em>: Directory where your SmallBASIC program
and all the assets are located</li>
<li><em>Destination Directory</em>: Directory where the final packaged
program should be saved</li>
<li><em>Name of Basic File</em>: The name of your basic file. If you
have several basic files, then give the one which should be
started.</li>
<li><em>Name of Program (without .exe)</em>: The name of the final
executable file. Please don’t add .exe. This will be done
automaticlly.</li>
<li><em>Category (for Linux)</em>: Choose a category for your program.
When creating an AppImage the category will be used.</li>
<li>Package Version:
<ul>
<li><em>Windows - Package Directory</em>: All files are copied to a
directory. You will find a .exe file for executing your program and a
DATA folder with all necessary files. Please don’t rename or delete the
DATA folder.</li>
<li><em>Windows - Self Extracting Archive</em>: A self extracting
archive (using 7z) will be created. After running the archive exe a
folder similar to Windows - Package Directory will be created.</li>
<li><em>Linux - AppImage</em>: An executable AppImage will be
created.</li>
</ul></li>
<li>SmallBASIC Version:
<ul>
<li><em>SDL2 (sbasicg)</em>: choose if your program is written for the
SDL version of SmallBASIC</li>
<li><em>Console (sbasic)</em>: choose if your program is written for the
console version (i.e. when using plugins like raylib or nuklear)</li>
</ul></li>
<li>Click the button <em>Package my Program</em></li>
</ul>
<h3 id="distribution-tool-for-android">Distribution Tool for
Android</h3>
<figure>
<img
src="https://github.com/Joe7M/smallbasic.DistributionTool/raw/main/screenshot/AndroidDistTool.png"
alt="Screenshot of Distribution Tool" />
<figcaption aria-hidden="true">Screenshot of Distribution
Tool</figcaption>
</figure>
<p>The Distribution-Tool for Android is so far only available for Linux
and tested with Ubuntu 22.04 and Manjaro.</p>
<ul>
<li>Download the newest release of the <a
href="https://github.com/Joe7M/smallbasic.DistributionTool/releases">Distribution
Tool for Android</a></li>
<li>Create a Distribution-Tool folder and copy the AppImage file to that
folder</li>
<li>Install Java (and zip)
<ul>
<li>Ubuntu: <code>sudo apt install default-jdk</code></li>
<li>Manjaro: <code>sudo pacman -S jdk-openjdk zip</code></li>
</ul></li>
<li>Since google does not allow to package a fully configured Android
SDK with the distribution tool, you have to download the <a
href="https://developer.android.com/studio/index.html#command-tools">command-line
tools for Linux</a> and unzip the file to the Distribution-Tool folder.
Beside the AppImage you should have a folder called cmdline-tools
now.</li>
<li>Start the AppImage file (it might be necessary to make it
executable: <code>chmod a+x DistributionTool*.AppImage</code> ). It will
download and setup all necessary Android SDK components.</li>
<li>Create a key to sign your Android app. The key needs to be created
only ones and can be used for all your apps.
<code>keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias</code>
will create a keystore called my-release-key.jks with a key called
my-alias. Feel free to change the names.</li>
<li>Create app icons. An easy way is to use an online icon creator, like
<a href="https://icon.kitchen/">icon.kitchen</a>. Download the created
icon set and unzip the file.</li>
<li>If you want to transfer your newly created app to your android
device, you have to <a
href="https://developer.android.com/studio/command-line/adb#Enabling">enable
USB debugging</a>.</li>
</ul>
<p>GUI-Interface</p>
<ul>
<li><em>Application Name</em>: Name of the application on the Android
device</li>
<li><em>Basic file</em>: Name of your basic file. If you have several
basic files, then give the one which should be started</li>
<li><em>Source</em>: Directory where your SmallBASIC program and all the
assets are located</li>
<li><em>Destination</em>: Directory where the final packaged program
should be saved</li>
<li><em>Icon res</em>: Directory where the icons are located (needs to
be a valid icon res-directory)</li>
<li><em>Keystore file</em>: Your keystore file</li>
<li><em>Keystore password</em>: Password for the keystore file</li>
<li><em>Key alias</em>: Alias of the key to be used for signing</li>
<li><em>Key password</em>: Password of the key</li>
<li><em>Transfer to device with adb after packaging</em>: When checked,
the app will be installed on your Android device. The device must be
connected to the computer using USB and adb debugging must be enabled on
the device. (might not work when in a virtual machine).</li>
</ul>
<h3 id="assets">Assets</h3>
<p>If your program needs assets like images or sounds, then please place
all the assets in the same folder as your basic file or in a subfolder.
Don’t use absolute paths to load the assets. Instead of
<em>C:\MyProgram\assets\image.png</em> please use relative paths like
assets\image.png or ./assets/image.png.</p>
<h3 id="plugins">Plugins</h3>
<p>The official plugins (i.e. raylib, nuklear) are include in the
package. If you have your own plugin please copy it to the same folder
as your basic file.</p>
</div>
<div class="pagefooter">
This page was last edited on Thu, 13 Oct 2022 19:35:34 +0200
|
<a href="https://en.wikipedia.org/wiki/Markdown" target="_blank" rel="nofollow">Markdown</a>
processed with
<a href="https://pandoc.org/MANUAL.html#pandocs-markdown" target="_blank" rel="nofollow">pandoc 3.1.12.1</a>
</div>
</div>
</div>
</body>
</html>