I’m trying to develop a new feature for Smack, but first, I wanted to build it before making any changes. I followed the instructions in the DEVELOPING.MD
file and ran some commands, but the gradle assemble
command is not working because it doesn’t recognize my Android SDK environment variable, I’m currently using Java 17 and its also on my env variables. Does anyone know what can I do?
ANDROID_HOME = D:\sdk\platforms\android-26
JAVA_HOME= C:\Program Files\Java\jdk-17
GRADLE_HOME= D:\Gradle\gradle-8.7\bin
guus
January 24, 2025, 9:18am
2
Hi Ismael!
I think your ANDROID_HOME
value is incorrect. It should probably be pointing to D:\sdk
for you.
As an example, look at my structure:
guus@octarine:~$ echo $ANDROID_HOME
/data/Android/Sdk
guus@octarine:~$ ls -l /data/Android/Sdk
total 44
drwxrwxr-x 7 guus guus 4096 jul 15 2024 build-tools
drwxrwxr-x 8 guus guus 4096 jul 15 2024 emulator
drwxrwxr-x 3 guus guus 4096 jul 15 2024 fonts
drwxrwxr-x 2 guus guus 4096 dec 21 2021 licenses
drwxrwxr-x 3 guus guus 4096 dec 21 2021 patcher
drwxrwxr-x 10 guus guus 4096 nov 4 18:48 platforms
drwxrwxr-x 3 guus guus 4096 jul 15 2024 platform-tools
drwxrwxr-x 52 guus guus 4096 jul 15 2024 skins
drwxrwxr-x 8 guus guus 4096 nov 4 18:48 sources
drwxrwxr-x 5 guus guus 4096 jul 15 2024 system-images
drwxrwxr-x 6 guus guus 4096 dec 21 2021 tools
guus@octarine:~$ ls -l /data/Android/Sdk/platforms
total 32
drwxrwxr-x 5 guus guus 4096 dec 21 2021 android-19
drwxrwxr-x 5 guus guus 4096 sep 18 11:34 android-21
drwxrwxr-x 6 guus guus 4096 nov 4 18:48 android-26
drwxrwxr-x 6 guus guus 4096 mei 12 2022 android-28
drwxrwxr-x 6 guus guus 4096 jan 17 2022 android-30
drwxrwxr-x 6 guus guus 4096 dec 21 2021 android-32
drwxrwxr-x 6 guus guus 4096 jul 15 2024 android-34
drwxrwxr-x 6 guus guus 4096 sep 18 11:27 android-35
(You do not need all of those Android platforms, only android-26 should be enough)
Thank you for the quick response, it was possible to correct the error, I just have one more question, when I try to build again these errors appear that illegal character in the package-info of several classes, how do you fix this normally?
guus
January 24, 2025, 10:00am
4
The content of that file seems to be invalid. It shouldn’t be a path. Did you accidentally change its content maybe?
I didn’t, by looking at the github repository it also has a path instead of a package, so I’m not sure on how they build the project without facing this issue
Flow
January 26, 2025, 9:39pm
6
Those are symlinks. Maybe your filesystem does not support these.
1 Like
Thanks, I was using Windows 11, once I changed to Manjaro I could built it
Flow
January 28, 2025, 8:40am
8
Glad that you got it working. I can only recommend working on a Linux system. That said, you may want to have a look at
# Building Smack
## Linux
Building Smack is as simple as
```
git clone git@github.com:igniterealtime/Smack.git
cd Smack
gradle assemble
```
## Mac
Smack requires a case-sensitive file system in order to build. Unfortunately, the macOS operating system is case-insensitive by default.
To get around this, you can create a case-sensitive disk image to work from.
1. Launch Disk Utility (Applications > Utilities)
2. Click the +, or go to Edit > Add APFS Volume
3. Give it a name, e.g. "Smack"
This file has been truncated. show original