OpenLauncherTeam / openlauncher

Customizable and Open Source Launcher for Android

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Publish release

chrysn opened this issue · comments

Please consider tagging a version as a new release, be it 0.7.5 or 0.8.0. Such a version should then have it easy to get updated in F-Droid.

I see that a lot of bug fixes have accumulated (and experienced disappearing widgets myself) since late 2020, and in particular PR #637 (PWAs) would be a great improvement to see in a released version.

If you want a new update, please do something: Build OpenLauncher from master branch on your own (or CI build) and use that as your default launcher for two weeks.

Then report back if everything is OK, or less good than before.

OpenLauncher is in maintainence mode since a while and I rather not release a update which doesn't work on other more important areas --- because I won't have the time to fix it again.

So please do that and let me know here. Thank you.

commented

there you go: https://github.com/MASTERdjango/openLAUNCHER, It just works... and yes PR (#637) (PWAs) works... expect bugs... I just built the APK today.

@MASTERdjango Everything merged on master is available from CI build apk. No need to upload some apk for somebody.

Are you still in need of beta testers? I'm happy to try a dev build as well, if that would help. The current stable release seems pretty buggy.

I started testing debug build from CI from 4abc6d2 too, seems to be working just fine so far, in fact better than latest release on F-Droid.

I'd say make it a preview/beta release on F-Droid, it does have such a feature. Those who need stable version can continue to use stable release, those who want to test preview can opt-in in F-Droid settings.

Used for over a week, no issues whatsoever while the published version was crashing for me on Android 13 (I exported and imported the same settings).

Crashes a lot on Android 11 for me too.

@MASTERdjango, @gsantner, @tplloi, @jan-kiszka and @chrysn,
It would be greatly appreciated if I could have some assistance in setting up a functional build environment (ideally running as a shell session within a Debian 9 WSL 1 install running on Windows 10).

For what little this is likely worth, while my background is in IT (with scripting and basic development experience) I am not a mobile developer by trade.

A previous example using a generic online guide did not go down very well to say the least.

It might be impractical but it would be appreciated if Artifact expiration could be disabled.

commented

For my use, I find the master version better than 0.7.4. I use it daily.

Via working with ChatGPT I have been able to setup my own build environment based around Debain running within Windows Subsystem for Linux (WSL) version I.

Prompt

Good evening,
Can you please provide a detailed build process for the Android Application called "Open Launcher".
Desired environment: A Debian 9 install stored within WSL 1 and Windows 10 as the host

The source code can be found at https://github.com/OpenLauncherTeam/openlauncher

Output

Sure, here are the steps to build the Open Launcher Android application on a Debian 9 install within WSL 1 and Windows 10 as the host:

Install necessary tools:

Java Development Kit (JDK) version 8 or above
Android Software Development Kit (SDK)
Gradle build tool
Git
Clone the Open Launcher repository:

Open a terminal window and navigate to the directory where you'd like to store the project.
Run the command $ git clone https://github.com/OpenLauncherTeam/openlauncher.git to clone the repository.
Set up environment variables:

Set JAVA_HOME to the path of your installed JDK.
Set ANDROID_HOME to the path of your installed Android SDK.
Install Android SDK components:

Run the command $ sdkmanager "platforms;android-29" "build-tools;29.0.2" to install the necessary SDK components.
Build the project:

Navigate to the root directory of the project.
Run the command $ ./gradlew assembleDebug to build the project in debug mode.
Alternatively, run the command $ ./gradlew assembleRelease to build the project in release mode.
Find the APK:

The APK file will be generated in openlauncher/app/build/outputs/apk/debug or openlauncher/app/build/outputs/apk/release, depending on the build mode selected.
That's it! You now have a built version of the Open Launcher Android application.


To be more useful:

sudo apt-get install openjdk-8-jre

To use sdkmanager (https://developer.android.com/tools/sdkmanager), I then downloaded the Linux port of ther SDK-platform tools (https://developer.android.com/tools/releases/platform-tools).

After tripple reading the instructions and using some french, I came up with the following file struture.

PATH/android_sdk

  • cmdline-tools
  • latest
  • Bin
  • lib
  • platform-tools
    ...............

As to be expected I then had to update the debian image at some point.

Within the src folder I executed the following commands
export ANDROID_SDK_ROOT=PATH/android_sdk/ e.g. export ANDROID_SDK_ROOT=/mnt/c/Users/03520/Desktop/android_sdk/

cd /mnt/c/Users/03520/Desktop/android_sdk/
./../android_sdk/cmdline-tools/latest/bin/sdkmanager "platforms;android-29" "build-tools;29.0.2"

I have the following shell script to help automate building my own custom release which sits next to the src folder and I call from within the src folder.

export ANDROID_SDK_ROOT=/mnt/c/Users/03520/Desktop/android_sdk/
git merge --no-commit veryMinorTweaks # As time goes though I intended to switch over to git merge --no-commit $(git branch --list | grep -v "* master" | paste -s)
./gradlew assembleDebug
git reset --hard HEAD -q
cp app/build/outputs/apk/flavorDefault/debug/app-flavorDefault-debug.apk ../OpenLauncher-modified-$(date +"%Y-%m-%d-%H.%M.%S")-Upstream-Master-commit-8a7afbe-Default-unsigned-debug.apk

veryMinorTweaks
This branch does the following relatively minor items:

  • Appends "- Custom" to the application name.
  • Changes the backup file timestamp to be more similar to ISO 8601.
  • Moves the build information found under the About section of the application to the top.

[code]
diff --git a/app/build.gradle b/app/build.gradle
index 46408731..df48db1e 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,7 +19,7 @@ android {
buildConfigField "String", "GITHASH", ""${getGitHash()}""
resValue "string", "manifest_package_id", "com.benny.openlauncher"

  •    resValue 'string', 'app_name', "OpenLauncher"
    
  •    resValue 'string', 'app_name', "OpenLauncher - Custom"
    
       applicationId "com.benny.openlauncher"
       versionCode 42
    

diff --git a/app/src/main/java/com/benny/openlauncher/activity/SettingsActivity.java b/app/src/main/java/com/benny/openlauncher/activity/SettingsActivity.java
index a32a555f..dc9c0b72 100644
--- a/app/src/main/java/com/benny/openlauncher/activity/SettingsActivity.java
+++ b/app/src/main/java/com/benny/openlauncher/activity/SettingsActivity.java
@@ -72,7 +72,7 @@ public class SettingsActivity extends ColorActivity implements SettingsBaseFragm
List files = Utils.getSelectedFilesFromResult(data);
switch (requestCode) {
case Definitions.INTENT_BACKUP:

  •                BackupHelper.backupConfig(this, new File(Utils.getFileForUri(files.get(0)).getAbsolutePath() + "/openlauncher_" + new SimpleDateFormat("yyyyMMdd'T'HHmmss").format(new Date()) + ".zip").toString());
    
  •                BackupHelper.backupConfig(this, new File(Utils.getFileForUri(files.get(0)).getAbsolutePath() + "/openlauncher_" + new SimpleDateFormat("yyyy-MM-dd-HH.mm.ss").format(new Date()) + ".zip").toString());
                   Setup.dataManager().open();
                   break;
               case Definitions.INTENT_RESTORE:
    

diff --git a/app/src/main/res/xml/preferences_about.xml b/app/src/main/res/xml/preferences_about.xml
index fd2d6107..53512345 100644
--- a/app/src/main/res/xml/preferences_about.xml
+++ b/app/src/main/res/xml/preferences_about.xml
@@ -10,6 +10,11 @@
android:title="@string/app_name"
tools:icon="@drawable/ic_launcher"
tools:summary="Version v0.5" />
+

  • <Preference

  •   android:icon="@drawable/ic_code"
    
  •   android:key="@string/pref_key__more_info__copy_build_information"
    
  •   android:title="Copy build information" />
    

    <Preference
    android:icon="@drawable/ic_thumb_up"
    @@ -89,12 +94,6 @@
    android:summary="@string/contribute_code_to_this_project_anybody_welcome"
    android:title="@string/source_code" />

  •    <Preference
    
  •        android:icon="@drawable/ic_code"
    
  •        android:key="@string/pref_key__more_info__copy_build_information"
    
  •        android:title="Copy build information" />
    
  • </com.benny.openlauncher.widget.ColorPreferenceCategory>

[/code]

There was a release on F-Droid a month ago. \o/

Yes, release is out on F-Droid, but for some reason it is created for ancient devices (Android 4.2+) and as the result doesn't support auto-updates. Would be great to have release for modern versions of Android.