Skip to content

Releases: Sketchware-Pro/Sketchware-Pro

Sketchware Pro v6.4.0 test build 05

05 Nov 00:06
v6.4.0-rc05
906d365
Compare
Choose a tag to compare
Pre-release

We've made a few changes to the Logic Editor. Please make sure to make a backup of your entire .sketchware folder before you try this beta out! There might be bugs in the editor, and they could corrupt your projects. Please check in the Issues section before you report any.

Highlighted features

  • Java 1.9, 10, and 11 compile support! This only works in minApi26 builds though. Thanks to @PranavPurwar for the contribution! (#497)
  • Syntax highlighting for Kotlin and even XML files. (33fe07d)
  • When Sketchware Pro crashes, you can now send the error message to us. It's fully optional though, so please make sure to send them if you want to help us fix bugs! (#551)
  • New features using root access: Auto-installing of projects, and also launching of projects if auto-install is enabled and worked. (#511)
  • You can now use e.g. tools:replace="android:id" in a View's inject property to remove android:id from its XML code. This is a replacement for XML Command Blocks that change tiny things like these. (59fd54a)

Other new features/improvements

  • New instructions on setting a custom return type when creating a new More Block. (a8e6ff0)
  • Kotlinc updated to v1.7.10 (#512)
  • Improved confirmation dialog when about to delete all attributes of an Activity in AndroidManifest Manager. (6f37f36)
  • Upgrades to r8 v3.3.75. (3d63454)
  • When using the force darken apps Developer setting, the Layout Editor preview won't be darkened too, as it changes how the app really looks. (fde24d6)
  • Icons available in the Import Icon activity now get extracted to the cache dir, not /Internal storage/.sketchware/…. This improves performance on Android 11+ devices, and allows easily freeing up space taken by those temporary files. (8f1aec2)
  • The FAB in the About Sketchware Pro screen got updated to match Discord's new style. (#548)
  • More build progress when exporting a project. (0b51ad5...491b11f)
  • Kotlin files in Java/Kotlin Manager now have an icon. (29fa222)
  • Projects can now be exported and then signed using testkey. (7f51eea)
  • An easy way to restore defaults on corrupted parts, such as Custom Blocks. It looks like this, and works by just renaming the broken file:
    image
    This currently works for Custom Repositories in Local library Downloader, Custom Blocks and Palettes in Block Manager, and Block Selector Menu Manager.
  • Injections made in AppCompat Injection Manager are now cached to improve performance. (365c075...2f79b56)
  • The default android.jar was upgraded to SDK version 33, r02 (Android 13) (6e4ecfa)
  • The version name in Program information is now selectable. (81f9aab)
  • Update to bundletool v1.11.3 (ea2dd4b)
  • Update to sora-editor v0.17.2 (226c141)
  • Update of the built-in material library for projects to v1.6.1 (24a268a)
  • Update of Firebase Database to v19.3.1 (13ff5cb)

Fixes

  • Projects using e.g. the Google Maps library work again. (71ff222, 3b334d3, 27a681b)
  • Projects don't crash anymore due to SketchLogger if debug logging is enabled. (eca95dd)
  • Sometimes even in release builds debug logs were enabled. That has been fixed. (80149e8)
  • Adding new AdMob ad unit IDs works again. (7a56d71)
  • In the About Sketchware Pro screen only the latest version in Changelog is marked blue, like it always should have been. (19c48a7)
  • FragmentAdapter Components can be used in Fragment Activities too now. (637e2e9)
  • Having a very large compile error won't crash the app anymore. This is a bug even present in v6.3.0 fix1. (5b5616e)
  • Switching apps while generating a source preview of a file in DesignActivity won't crash the app anymore. (427ea71)
  • Some ProGuard classpath errors were fixed. (c719999, c8a6805)
  • The known ProGuard bug from v6.4.0-rc04 was fixed. (89f8810)
  • The AndroidManifest.xml preview in AndroidManifest Manager contained XML Command Blocks applied more than once sometimes. Fixed now. (d263063)
  • Some fixes to projects exported to Android Studio. (6badf31...e30deb6)
  • Exporting an AAB won't fail with a StackOverflowException anymore. (1fce06f)
  • Activities which already have android:exported set by injections in AndroidManifest Manager won't get duplicate android:export properties when targeting SDK version 31 and higher anymore. (ab080ae)
  • Using 1+ Dynamic Link Components and targeting SDK version 31 and higher won't add a duplicate property to AndroidManifest.xml anymore. (ac2c310)
  • (Internal change) Using a Gradle dependency for SpongyCastle instead of classes converted from DEX files, which fixes some signing issues. (32828fe)
  • Custom Components can share names with built-in types and get its imports too, back to how it used to be in v6.3.0 fix1 and earlier. (5b77962)
  • Fixes picking a Font sometimes corrupting it, and making the Font unusable in the app. (fe19892)
  • Picking a Sound in Sound Manager won't crash on some Android versions anymore. This is a bug even present in vanilla Sketchware. (cce5e0b, 74a971c...24e9514)
  • The Import AdMob details from another project Button works now. This is also a vanilla Sketchware bug. (b09d136)
  • When a Font can't be previewed in the Logic Editor, the app won't crash now. This is another vanilla Sketchware bug. (65d689b)
  • The app won't crash on null Custom Events and Components anymore. (2db1b76, 833da0d)
  • Component descriptions can be changed using strings.xml again. This is a regression even in v6.3.0 fix1. (0f7bd45)
  • Some Custom Block Palette color parsing fixes in Block Manager. (41c399a)
  • Importing Custom Blocks into a Palette works again. (6bdda25)
  • Hopefully a fix for some files being compressed in AABs even though they shouldn't be, for example sounds. (70e0a87)
  • The default project backup filename format now contains two-digit months all the time. (de33fbc)
  • Local library Downloader extracts android.jar if needed automatically, without failing without telling why exactly. (077f93d)
  • After creating a new Custom Listener, you don't have to restart the app anymore for it to be recognized by Sketchware Pro. (07948c0)
  • Disabling a Local library for a project should work in all cases now. (e965df5)
  • The file /Internal storage/.sketchware/data/system/local_library won't be created anymore if opening Local library Manager from Developer Tools. (8922518)
  • Having e.g. @color/white as border color in a CircleImageView won't show up the false-positive invalid background color toast anymore. If the color really is invalid though, the app will also tell the CircleImageView's ID. A typo in the error message was also fixed. (28e6c55...e380223)
  • The orientation and weightSum property were not are applied in XML to RadioGroups and other Views, even though they were shown in the Properties of the View. This is a bug present even in v6.3.0 fix1, but has now been fixed. (3e9e810)
  • The Logcat Reader button in Developer Tools now actually works. (a093a48)
  • SketchApplication.java is not generated anymore if a custom application class is in use. (059d168)
  • SketchLogger.java automatically tries to use the custom application class now. The class needs a static method getContext() returning android.content.Context to work though. (059d168)
  • ProGuard should work on API levels < 24 again. (9c54e2a)
  • Trying to get data from Firebase Database with ProGuard enabled didn't work out-of-the-box, it crashed at runtime. Now it works, by adding ProGuard rules to built-in library Gson. (96706a5)
  • Importing a More Block with a custom return type from Collections won't break its return type anymore. Checking for duplicated names was fixed too. (3e470a5...cebf293...
Read more

Sketchware Pro v6.4.0 test build 04

05 Jul 11:37
v6.4.0-rc04
dc773c3
Compare
Choose a tag to compare
Pre-release

The most significant new feature of this release is Kotlin code support! PR #247 was finally merged into main. Compiling Kotlin code still needs an Android 8+ device though, so only the -minApi26 version supports Kotlin.

Features

  • Reading debug logs from projects. A new activity for that, the Logcat Reader, was added, and to start seeing logs there, run your project and open the Logcat Reader in Sketchware Pro. (#257)
  • Symbol pair auto-completion in the code editor can now be turned off. (#402)
  • Upgrade to sora-editor v0.14.0.
  • Upgrade to Iyxan23/zipalign-java:96fd6b30c928015847264b27b0d2dd407f3e8895.
  • Some performance improvements to the DEX merging step. (0f4fc74)
  • Using resource strings in the text and hint property of Views now works! Set e.g. @string/greeting as text or hint, and the View code will use the resource string, not escape the @. (0f27cac)
  • You can now tweak the filename of SWB backups. (#277)

Fixes

  • Custom Variables are shown in the Variable Palette and can also be removed again.
  • The aligning APK step was entirely removed after pressing the Run button, as only exports to e.g. Google Play need alignment.
  • The crash after the Aligning APK… step was fixed.
  • Downloading Local libraries won't crash the app anymore. (299d341)
  • Fonts added via the Font Manager now actually work at runtime. You'll have to remove old fonts and add them again though.
  • A Custom Block Palette having an invalid color won't crash the app anymore. (a332fcb)
  • RadioButtons' checked property now work. (27f874a)
  • Built-in Menu Blocks work again! (bba8b3b)
  • Zooming in code in e.g. the source code preview, or in general, in dialogs where sora-editor is used will zoom into the code editor content, not the activity content. (c7336e9)
  • Trying to remove a Variable or List used in another Event will show an error message again.

New in version with Kotlin support

  • Java Manager was renamed to Java/Kotlin Manager. It can also create and import new Kotlin classes.
  • Obviously, Kotlin compiling!

Known issues/bugs

Before reporting any issues, please first check here if they're not already known, or already were reported in another Issue.

  • Java/Kotlin Manager has no icon for Kotlin source code files.
  • There's no Kotlin syntax highlighting available in the code editor.
  • Adding new AdMob units doesn't work. See issue #490 for details on that bug.
  • ProGuard somehow renaming R classes to r.

Versions

  • If you need a version that supports Android 5 and higher, get v6.4.0-rc04-minApi21. It has no support for AAB output.
  • Otherwise, if you need one with Kotlin support, and also AAB output support, get v6.4.0-rc04-minApi26. As the name says, it only supports Android 8 and higher.

Sketchware Pro v6.4.0 test build 03

16 May 19:18
v6.4.0-rc03
e485c59
Compare
Choose a tag to compare
Pre-release

This is just a quick bug fix release with some other minor improvements.

Features

  • Importing google-services.json downloaded from Firebase Console directly instead of entering Firebase data manually. (a9561f5...40c28f6, ab1eb98)

Fixes

  • Component fields getting duplicated was fixed. (#392, 2bb7b2a)
  • APK aligning failing due to dynamically linked zipalign binaries was fixed too! (#395, 45cc37f)
  • Adding a RewardedVideoAd Component is not possible anymore when not having AdMob enabled. (5e898ae)
  • Projects using OneSignal won't have to rely on e.g. XML Command Blocks to work (/ at least get installed) on Android 12 when also targeting that Android version. (661780f)
  • When exporting a signed AAB or APK, the file gets signed first, then zipaligned. Apparently that's what you should do now. (c7ff8ea)
  • The context menu in Java Manager or App Components shouldn't be weirdly dark with dark text anymore. (ef0b9d0)
  • A typo in the onScrollChanged Event label was fixed at last. (60cdf9a)
  • Projects using Glide should no longer crash at runtime. (9fb5aaf)
  • Clearing the app cache will no longer make compiling projects not work anymore until you clear the app's data. (6bc31f7)
  • Some other compiling assets that need to be extracted will also be extracted to the cache directory, just like e.g. built-in libraries' DEX files. (6bc31f7)
  • Built-in Extra Blocks can now be overridden using Custom Blocks again. (0929291)

Major thanks

We'd like to thank @iyxan23 for implementing zipalign in Java, started by Sketchware Pro needing an alternative method to align ZIP archives. The library can be found here. Thank you for making v6.4.0-rc03's release that quickly possible!

Full Changelog

You can find it here: v6.4.0-rc02...v6.4.0-rc03

Sketchware Pro v6.4.0 test build 02

14 May 18:20
v6.4.0-rc02
0bfed81
Compare
Choose a tag to compare
Pre-release

This is another long overdue release.

Features

  • Built-in library upgrades, as well as finally changing their internal names to mention the actual library name in e.g. dexs.zip. (4030187...9629858, e280c1f)
  • Views can now have an orientation of "none", which removes the property android:orientation="…" from Views' XML code entirely, all without any Command Blocks. (775e4d0)
  • APKs now get aligned using zipalign before getting signed. (f67c195)
  • Quick AndroidManifest.xml viewer in AndroidManifest Manager (81813a0)
  • AndroidManifest Manager will now use the new code editor if not disabled in Mod Settings for App Components. (f1a2646)
  • Upgrade of code editor library to upstream sora-editor v0.11.1
  • When exporting an APK / AAB, you can now also decide to not sign the APK / AAB. They will get a different output name, though. (de780e7)
  • Sometimes directories or files needed for compiling get deleted. Sketchware Pro now detects and tells you about that. If it's directories, you can create them with a single click. (54f9706)
  • The Source Code Viewer got improved. It now uses the new code editor library to show code, and launching it is instant. It generates the project's code asynchronized so that the UI doesn't hang anymore. (ae9e498)
  • ${applicationId} in AndroidManifest.xml will now automatically get replaced with the project's package name. (91eaff0)
  • R8 was updated to v3.3.28. (a7c2e4f)
  • A new barebones splash screen that only waits until the system's ready to open MainActivity. (390ed03)

Fixes

  • App doesn't crash without access to storage anymore. (650b78f)
  • Resource Manager doesn't crash on older Android versions anymore. (f81de8f)
  • BottomNavigationView's onNavigationItemSelected Event works again. (3a4e17e)
  • Showing a file's source quickly now works for XML files, including changes made via Command Blocks. (8020153)
  • You can clear the saved last compile error again. (470074b)
  • Projects can have the <queries> tag in AndroidManifest.xml again. (none, since this was caused by me having forgotten to update aapt2's binaries in the APK)
  • The blue "[ViewPager] setFragmentAdapter [FragmentAdapter] TabCount (number)" Block works again. (ef4c3a5)
  • If a wrong key store password was entered while signing an APK or AAB, you will now be told about that instead of getting an endless progress bar. (78a2a1a)
  • You can't add more DynamicLink Components if Firebase is not enabled. (0656216)
  • The InterstitialAd Block to show an ad doesn't crash projects at runtime anymore if used outside of the onAdLoaded Event / the ad hasn't been loaded yet. (9c95577)
  • While creating DEX files out of project files, d8 now knows about used libraries' JAR paths. That allows it to desugar default methods into code if targetting older Android versions, and makes for example the exoplayer library work when used. (875e010)
  • Adding fonts via Font Manager should now work on all Android versions again. Sound Manager following soon. (16b72aa)
  • The built-in library localbroadcastmanager-1.0.0's DEX file now actually contains its classes. (e0bf549)
  • The RewardedVideoAd Component got updated to work with the updated AdMob built-in library version. You will have to migrate Events to new ones over. (too many, lol)

Changes that aren't features or fixes

  • Resource Block Selector Menus have been deprecated / removed. Use the Code Editor option instead. (3de650c)
  • The Language Settings menu from the main drawer has been removed as it's not working anymore. (7aee8ce)

Update on Sketchware Pro's build system

  • We've migrated to Android Studio fully now. This means that it's even easier to contribute to Sketchware Pro!
  • Unfortunately, that also forces us to release two APKs from now on. We're releasing an APK with support for Android 5 and higher but without AAB output support, and one with support for only Android 8 and above devices, but because of that, with the AAB output feature. You can check the APK's minimum SDK version (21 for no AAB output support, 26 for with), or the version name to find out which version an APK is.

Full Changelog

You can find it here: v6.4.0-rc01...v6.4.0-rc02

Sketchware Pro v6.4.0 test build 01

24 Dec 22:39
Compare
Choose a tag to compare
Pre-release

What's new?

  • AdMob Interstitial Ads (yet again). This time, you can start using Events just like with v6.3.0 fix1 and vanilla Sketchware.
  • Quick Previews of XML files! This was surprisingly hard to implement, as far as I can remember. View commit
  • A much better "About Sketchware Pro" screen, containing expandable Sketchware Pro version changelogs, and a work-in-progress tab to view Major Changes made to Sketchware Pro since v6.3.0 fix1.
  • Generated AABs containing generated ProGuard mappings if those were enabled. Useful when uploading your AAB to Google Play. View commit
  • The screen staying turned on while exporting a project. You can now finally leave Sketchware Pro working while resting. View commit
  • Images imported in Resource Manager and Asset Manager show previews now! View commit
  • Improvements to the Compile Log screen: It now has a toolbar, and features display options. Also, the last compile error will open there too, now. View commit
  • Being able to restore multiple SWBs at once. Every backup has its own "restore embedded Local libraries?" dialog, by the way. View commit
  • Backing up projects now backs them up into a folder with the name of the project. Inside that folder, the backups of that project will be stored. View commit
  • An updated version of the built-in Material Design Components / part of AppCompat for projects, which allows your projects to have a Material You style! That is completely optional though, and to apply that, you need to currently mess around with Resource Manager. View commit
  • ProGuard v7.1.1 in Sketchware Pro. Major upgrade is it being able to process Java 11 Local libraries. View commit
  • A ScrollView in Mod Settings and the Tools screen. Some small-display devices will benefit from this. View changes

What got fixed?

  • Custom Listeners not getting added to generated code. This explains the issues of v6.4.0 Beta 6 with many WebView-using projects, for example.
  • Exporting a project to Android Studio failing with "file not found" errors. What a difference simple "folder exists?" checks can make. View commit
  • Some devices having issues extracting built-in libraries, which explains the "…/res: No such file or directory." errors when projects are at AAPT2. View commit
  • Views, such as TextInputLayout, in Lists' Custom Views (e.g. RecyclerView), causing errors at runtime. This needed a patch to vanilla Sketchware's default generated Adapter code. View commit
  • AndroidManifest.xml injections after the default AppTheme not getting applied. View commit
  • Using multiple FragmentAdapter Components in a single Activity should be fine now, and its corresponding Block got changed too. Make sure to replace the current one with the updated one, or else no Adapter will be set. View commit
  • SearchView's onQueryText* Events should not throw compile errors anymore. View commit
  • AdMob AdViews not properly working. Note that now they show test ads when running your project, and only real ads when you export your project, just like Interstitial Ads!
  • Some AABs containing invalidly compressed files, most often videos or sounds in assets / res/raw-[config]. View commit
  • Exported AABs not containing non-class files from Local and built-in Libraries' JARs. Now they do. View commit

What else got changed?

  • The app's icon is now Christmas-styled. 🎄
  • As announced, Direct Source Code Editor got removed. See this message for the announcement again:
    image
    View commit
  • /Internal storage/.sketchware/debug.txt now contains information about the used Sketchware Pro version. That'll probably be useful for saving time while investigating issues. View commit
  • DEX files don't get merged into just few ones anymore starting with this version when just running the project, not exporting it. That'll save some precious time of yours. View commit

Full Changelog: v6.4.0-beta.6...v6.4.0-rc01

Sketchware Pro v6.4.0 Beta 6

26 Sep 20:58
Compare
Choose a tag to compare
Pre-release

This is the first Sketchware Pro version released at its GitHub repository!

What's new?

  • (Minor) The default generated FileUtil.java file now contains the method copyDir(String, String).
  • Cached Custom Components, which make Sketchware Pro work much smoother. From now on, you have to open Component manager to refresh Custom Components though.
  • More than a single decimal in project's version name, version name and extra is now a . (If using advanced version control dialog)
  • The green "add source directly" block is now available in the default Import Event if you open the Operator palette.
  • Some improvements to exporting a project to Android Studio: It now includes imported Java files, resources, assets, and native libraries.
  • Improvements to the Local library downloader, now you can have custom repositories it looks up. The default one will automatically get generated during the first time at /Internal storage/.sketchware/libs/repositories.json.
  • (Might be removed later) Adding tools:remove="orientation" into any View's inject attribute will remove the android:orientation attribute of it.
  • (WIP) Built-in AdMob fixes! You'll have to completely rework ads, but at least they kind of work now. You will need all 4 new blocks in exactly this order: h Support for onAdShown and onAdClosed is coming soon.
    There's still a catch: You need to use an XML Command Block in AndroidManifest.xml to set your correct app ID there. Click here for more details on what exactly to replace.

What's been fixed?

  • The app complaining for no reason about any List in Logic Editor
  • Merging DEX files while building a project taking ages
  • Generated AABs not including Native libraries
  • General compiling failing on some devices due to the removal of the android:largeHeap="true" attribute in Sketchware Pro's AndroidManifest.xml