Here you'll find the source code of many classes in Sketchware Pro, and more importantly, the place to contribute to Sketchware Pro.
There are a few things that you should consider before contributing to Sketchware Pro:
- Make sure that you're capable to mod.
- Showing off on other contributors is seriously not allowed. We're a community.
- Tell why exactly you've made a change to something, at best in the commit's extended description.
- Fork the repository to your GitHub account
- Make a branch if necessary
- Clone the forked repository to your local device (optional, you can edit files through GitHub's web interface)
- Make changes to files
- (IMPORTANT) Test out those changes
- Create a pull request in this repository
- The repository members will review your pull request, and merge it when they are accepted.
This repository can't create a working APK, and you also can't use Android Studio's Run button to test out your changes.
This is due to an issue with resource IDs being regenerated, and most classes still use the older ones made during
vanilla Sketchware's compilation. In the future, this might be fixed, but it's sadly rather unrealistic.
We might make a tutorial on how to build working APKs, but for now we'll only link the tool we use to build
Sketchware Pro: apktool.
Class | Role |
---|---|
La/a/a/Dp; |
Helper for compiling an entire project |
La/a/a/Ix; |
Responsible for generating AndroidManifest.xml |
La/a/a/Jx; |
Generates source code of activities |
La/a/a/Lx; |
Generates source code of components, such as listeners, etc. |
La/a/a/Ox; |
Responsible for generating XML files of layouts |
La/a/a/qq; |
Registry of built-in libraries' dependencies |
La/a/a/tq; |
Responsible for the compiling dialog's quizzes |
La/a/a/yq; |
Organizes Sketchware projects' file paths |
You can also check the mod
package that has the majority of contributors' changes.
Fork this repository and contribute back using pull requests.
Any contributions, large or small, major features, bug fixes, are welcomed and appreciated, but will be thoroughly reviewed.
Most changes might be UI-related, and we think it's more or less a waste of time. If something design-related gets changed, ideally the whole app must follow the new style too, and that's hard to accomplish, especially for mods. That's why:
- Major changes to the UI (components which exist in vanilla Sketchware)
are unlikely to be accepted.
When you've made changes to one or more files, you have to commit that file. You also need a message for that commit.
You should read these guidelines, or that summarized:
- Short and detailed
- Prefix one of these commit types:
feat:
A feature, possibly improving something already existingfix:
A fix, for example of a bugstyle:
Feature and updates related to stylingrefactor:
Refactoring a specific section of the codebasetest:
Everything related to testingdocs:
Everything related to documentationchore:
Code maintenance (you can also use emojis to represent commit types)
Examples:
feat: Speed up compiling with new technique
fix: Fix crash during launch on certain phones
refactor: Reformat code at File.java
They help keeping Sketchware Pro alive. Each (helpful) accepted contribution will get noted down in the "About Modders" activity. We'll use your GitHub name and profile picture initially, but they can be changed of course.
Wanna chat with us, talk about changes or just hang out? We have a Discord server just for that.
This mod was not meant for any harmful purposes, such as harming Sketchware; Quite the opposite actually. It was made to keep Sketchware alive by the community for the community. Please use it at your own discretion and be a Patreon backer of them, for example. Sadly, all other ways to support them aren't working anymore, so it's the only way available currently. Here's their Patreon page.
We love Sketchware very much, and we are grateful to Sketchware's developers for making such an amazing app, but unfortunately, we haven't received updates for a long time. That's why we decided to keep Sketchware alive by making this mod, plus we don't demand any money, it's completely free :)