kandi background
Explore Kits

guark | Build awesome Golang desktop apps and beautiful interfaces | Dektop Application library

 by   guark Go Version: Current License: MIT

 by   guark Go Version: Current License: MIT

Download this library from

kandi X-RAY | guark Summary

guark is a Go library typically used in Apps, Dektop Application, Vue, React, Electron, Framework applications. guark has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.
Guark is an open-source framework to build cross platform desktop GUI applications.
Support
Support
Quality
Quality
Security
Security
License
License
Reuse
Reuse

kandi-support Support

  • guark has a low active ecosystem.
  • It has 415 star(s) with 24 fork(s). There are 9 watchers for this library.
  • It had no major release in the last 12 months.
  • There are 8 open issues and 8 have been closed. On average issues are closed in 34 days. There are 2 open pull requests and 0 closed requests.
  • It has a neutral sentiment in the developer community.
  • The latest version of guark is current.
guark Support
Best in #Dektop Application
Average in #Dektop Application
guark Support
Best in #Dektop Application
Average in #Dektop Application

quality kandi Quality

  • guark has no bugs reported.
guark Quality
Best in #Dektop Application
Average in #Dektop Application
guark Quality
Best in #Dektop Application
Average in #Dektop Application

securitySecurity

  • guark has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
guark Security
Best in #Dektop Application
Average in #Dektop Application
guark Security
Best in #Dektop Application
Average in #Dektop Application

license License

  • guark is licensed under the MIT License. This license is Permissive.
  • Permissive licenses have the least restrictions, and you can use them in most projects.
guark License
Best in #Dektop Application
Average in #Dektop Application
guark License
Best in #Dektop Application
Average in #Dektop Application

buildReuse

  • guark releases are not available. You will need to build from source code and install.
  • Installation instructions, examples and code snippets are available.
guark Reuse
Best in #Dektop Application
Average in #Dektop Application
guark Reuse
Best in #Dektop Application
Average in #Dektop Application
Top functions reviewed by kandi - BETA

kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample Here

Get all kandi verified functions for this library.

Get all kandi verified functions for this library.

guark Key Features

Desktop applications with GO ♥

One codebase for Gnu/Linux, macOS, and Windows.

UI Hot Reload.

You can use any front end framework.

Supports Chrome, and native webview engine or both.

Windows MSI bundler builtin.

guark Examples and Code Snippets

See all related Code Snippets

📜 Installation

copy iconCopydownload iconDownload
go get -u github.com/guark/guark/cmd/guark

Create a new project

copy iconCopydownload iconDownload
# cd to empty directory and run:
guark init --template vue --mod github.com/username/appname

Start Dev Server

copy iconCopydownload iconDownload
guark run

Export your first GO function to JS API

copy iconCopydownload iconDownload
// lib/funcs/foo_bar.go

import (
    "github.com/guark/guark/app"
)

func FooBar(c app.Context) (interface{}, error) {

   c.App.Log.Debug("Foo bar called")

   return "This is a my return value to javasript", nil
}

Configure the build

copy iconCopydownload iconDownload
linux:
  ldflags: ""

darwin:
  ldflags: ""

windows:
  cc: /usr/bin/x86_64-w64-mingw32-gcc
  cxx: /usr/bin/x86_64-w64-mingw32-g++
  ldflags: "-H windowsgui"
  windres: /usr/bin/x86_64-w64-mingw32-windres

Build

copy iconCopydownload iconDownload
guark build

Bundle Windows App

copy iconCopydownload iconDownload
guark bundle

Cross Compiling To Windows From Gnu/Linux:

copy iconCopydownload iconDownload
// Fedora
sudo dnf install mingw64-gcc

// Ubuntu
sudo apt install binutils-mingw-w64

See all related Code Snippets

Community Discussions

Trending Discussions on Apps
  • Error: MainActivity must extend android.app.Activity [Instantiatable]
  • Google OAuth 2.0 failing with Error 400: invalid_request for some client_id, but works well for others in the same project
  • Action requested: Declare your Ad ID permission
  • ASP.NET Core 6 how to access Configuration during startup
  • How to use appsettings.json in Asp.net core 6 Program.cs file
  • android:exported needs to be explicitly specified for <activity>. Apps targeting Android 12 and higher are required to specify
  • App Engine Python 2.7 - ImportError: cannot import name apiproxy
  • Log4j vulnerability - Is Log4j 1.2.17 vulnerable (was unable to find any JNDI code in source)?
  • My project doesn't compile with optimization parameters after upgrading from angular 11 to angular 12
  • How to set max-height of dropdown selection area?
Trending Discussions on Apps

QUESTION

Error: MainActivity must extend android.app.Activity [Instantiatable]

Asked 2022-Mar-31 at 02:13

I tried upgrading Android Gradle Plugin from 4.2.2 to 7.0.1 using the upgrade assistant which is available in Android Studio at Tools > AGP Upgrade Assistant. The only change it made was to my project-level build.gradle file:

buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.0.1' // changed from 4.2.2 to 7.0.1
        // ...
    }
}

However, now when I run ./gradlew assemble assembleAndroidTest I get the following error:

/builds/locuslabs/android-team/locuslabs-android-sdk/app/src/main/AndroidManifest.xml:21: Error: MainActivity must extend android.app.Activity [Instantiatable]
            android:name="com.locuslabs.appsdk.MainActivity"
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Explanation for issues of type "Instantiatable":
   Activities, services, broadcast receivers etc. registered in the manifest
   file (or for custom views, in a layout file) must be "instantiatable" by
   the system, which means that the class must be public, it must have an
   empty public constructor, and if it's an inner class, it must be a static
   inner class.
1 errors, 0 warnings
Lint found fatal errors while assembling a release target.
To proceed, either fix the issues identified by lint, or modify your build script as follows:
...
android {
    lintOptions {
        checkReleaseBuilds false
        // Or, if you prefer, you can continue to check for errors in release builds,
        // but continue the build even when errors are found:
        abortOnError false
    }
}

My project is multi-module, but I don't suspect that as the problem since it's complaining about the application module, not a library module.

I believe my <activity> tag is well formed in my AndroidManifest.xml for my application module:

        <activity
            android:name="com.locuslabs.appsdk.MainActivity"
            android:label="@string/app_name"
            android:windowSoftInputMode="adjustNothing">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

Furthermore, I don't think there is anything wrong with extending AppCompatActivity instead of android.app.Activity as I'm doing in my MainActivity.kt:

import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {
    // ...
}

I'm concerned that Android Gradle Plugin 7.0.1 is not really ready for prime-time because the Android Gradle Plugin documentation still says classpath 'com.android.tools.build:gradle:4.2.0' instead of 7.0.1.

I saw that the Android Gradle Plugin 7.0.1 release notes mentioned some changes to linting but none of those changes seemed relevant to me.

I also skimmed through the Android Gradle Plugin source code to see if I could find the linting stage any identify any changes but it looked like a lot of work to find that code and do that analysis.

I searched for answers but all I could find were these two stackoverflow entries where the error was legitimate and the programmer just needed to change their code to ensure they were referencing an actual Activity:

  1. Android Studio Error: Activity must extend android.app.activity
  2. MainActivity cannot be cast to android.app.Activity

I also tried Android Gradle Plugin 7.0.0 but got the same error. Only Android Gradle Plugin 4.2.2 prevents the error.

Is this a bug in Android Gradle Plugin 7.0.1?

Update: could not disable Instantiatable

I tried to disable the Instantiatable lint error the following ways but none of them prevented the error.

First, I tried adding disable "Instantiatable" to my application-level build.gradle file:

android {
    lintOptions {
        disable "Instantiatable"
    }
}

Second, I tried prepending @SdkSuppress("Instantiatable") to the class:

@SdkSuppress("Instantiatable")
class MainActivity : AppCompatActivity() {
   // ...
}

Similarly, I tried @SuppressLint("Instantiatable") but that didn't work either.

ANSWER

Answered 2021-Aug-24 at 16:35

the Android Gradle Plugin documentation still says classpath 'com.android.tools.build:gradle:4.2.0' instead of 7.0.1.

You need to read further down the page, to this and this. That table is only relevant for pre-7.0.0 versions.

Is this a bug in Android Gradle Plugin 7.0.1?

Quite possibly. Or, perhaps beyond, as the Instantiatable Lint check has a history of problems.

If your scenario does not match one of those three August 2021 bugs, and you are in position to provide a reproducible test case, file a fresh issue! Beyond that, if a clean-and-rebuild is not clearing up your problem, you might need to simply disable the Instantiatable Lint check for the time being by adding the following to all of your build.gradle files at the application or library level (i.e. all except your project-level build.gradle):

android {
    lintOptions {
        disable "Instantiatable"
    }
}

Source https://stackoverflow.com/questions/68899665

Community Discussions, Code Snippets contain sources that include Stack Exchange Network

Vulnerabilities

No vulnerabilities reported

Install guark

Open a console and make sure the tdm-gcc tools chain are in the PATH:.
After installing guark CLI tool, the next step is to create a new guark project based on the template that you like:.
guark-build.yaml contains all configuration and path required for the build, like the compilers or default platform. The C/C++ compilers are not using the PATH environment and need an absolute path to them, on linux it will use the default paths for Linux builds.
You can build your app with.

Support

PRs, issues, and feedback from ninja gophers are very welcomed.

DOWNLOAD this Library from

Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
over 430 million Knowledge Items
Find more libraries
Reuse Solution Kits and Libraries Curated by Popular Use Cases
Explore Kits

Save this library and start creating your kit

Share this Page

share link
Reuse Pre-built Kits with guark
Consider Popular Dektop Application Libraries
Try Top Libraries by guark
  • plugins

    by guark Go

Compare Dektop Application Libraries with Highest Support
Compare Dektop Application Libraries with Highest Quality
Compare Dektop Application Libraries with Highest Security
Compare Dektop Application Libraries with Permissive License
Compare Dektop Application Libraries with Highest Reuse
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
over 430 million Knowledge Items
Find more libraries
Reuse Solution Kits and Libraries Curated by Popular Use Cases
Explore Kits

Save this library and start creating your kit

  • © 2022 Open Weaver Inc.