NativeLib is a plugin management system for Godot engine.

NativeLib UI

NativeLib is a plugin management system for Godot engine. It designed to easy operate with native libraries for iOS/Android. Also it takes care about plugin dependencies and provides hasslefree native libs updating.

Installation

This repository contains project addon with GUI for command line NativeLib. Just copy it into your addons folder of your project and enable it in Project > Project Settings > Plugins.

Or you can install NativeLib from AssetLib https://godotengine.org/asset-library/asset/824

Platform notes

Windows

You should install Python 3. Than you should open NativeLib addon and select your python executable (button "Select Python" in right top corner). After that you will be able to use NativeLib.

MacOS

Usually MacOSes have preinstalled python 2.7.x. NativeLib-CLI tested with this python version and it should work. But if you have some strange errors you can try install Python 3. With it NativeLib works more stable.

Linux

Install python 3 (if it's not installed yet). Also check if python is available in your $PATH. You can set path to python executable if necessary (button "Select Python" in right top corner).

Python notes

Unfortunately I can not test NativeLib with every version of Python (at least I know that NativeLib doesn't work with python 3.5.x)

Usually I check it with python 2.7.x and 3.9.x. If you have strange errors try to upgrade your Python version.

First launch

During first launch it will install local copy of NativeLib (if you don't have one at system level) and it will update local repository so you can instantly start working with plugins.

Settings

In the bottom status line there are very useful command buttons. Enable Android platform (button with robot) or iOS platform (button with apple) before installing any plugin. Also you can install local or update local NativeLib at any time. The last button updates local repository and fetches info about new plugins.

TODO

  • Ability to show files of installed plugin
  • Show files which differs from the original ones.
Comments
  • NativeLib repository not found

    NativeLib repository not found

    Hi, I am trying to install push notification plugin, for that I need this plugin.

    I have installed the plugin but when I press the NativeLib button on the top right, there is no plugin to search, I think I have to find the LOCAL-NOTIFICATION plugin there but there is nothing. Also, I have an error that says nativelib repository not found and then installed addons/NativeLib/nativelib (34836 bytes)

    I don’t have an idea of what means so I think maybe I have to install nativelib on my windows, but when searching on google I can’t find a link to downlod. Can someone guide me? I am very lost here

  • Notification color and icon

    Notification color and icon

    Hi, I have been wondering, is changing color and/or icon possible? I'm not necessarily asking the feature, just asking your thoughts about it. I would gladly collaborate with the tool, but I'm very inexperienced, so I'm not sure how to do it. From what I've been reading, it might be possible by changing the Android Manifest, but it doesn't seem to be enough. So I'm stuck on this part.

    Thank you for the attention

  • FirebaseCloudMessaging module not found

    FirebaseCloudMessaging module not found

    The plugin is not working now, I tested it before and worked and now it can´t found the module. I tested it on 32.3 stable and also in 3.2.4 betas

    03-19 20:17:45.320  1378  1612 E godot   : **WARNING**: FirebaseCloudMessaging module not found!
    03-19 20:17:45.320  1378  1612 E godot   :    At: modules/gdscript/gdscript_functions.cpp:817:call() - FirebaseCloudMessaging module not found!
    
  • Native Lib Not found

    Native Lib Not found

    Hi

    I'm creating a new games using godot 3.3.2 and install Nativelib from asset store, however I got this error after installing

    image

    please advise if there's anything else I need to install for Godot 3.3.2

    Thanks

  • 403 errors when accessing dl.bintray.com

    403 errors when accessing dl.bintray.com

    Currently a number of nativelib modules appear to get a 403 forbidden error when attempting to download file(s) from dl.bintray.com. It looks like dl.bintray.com has been sunset according to their front page. The particular error I ran into was as following: Invoked via Nativelib addon or nativelib CLI using nativelib -i applovinmax

    Failed while attempting to access https://dl.bintray.com/mobilap/nativelib/nativelib-export_0.1.0_all.tgz

    Stack trace follows:

    Traceback (most recent call last): File "addons/NativeLib/nativelib", line 1172, in install_package(p, v) File "addons/NativeLib/nativelib", line 941, in install_package if not install_package(p, v): File "addons/NativeLib/nativelib", line 946, in install_package download_package(package_name, version, package_meta) File "addons/NativeLib/nativelib", line 436, in download_package path = download(f['url'], fname, home) File "addons/NativeLib/nativelib", line 411, in download (filepath, headers) = urlretrieve(url, os.path.join(path, filename), reporthook=_progress) File "/usr/lib/python3.8/urllib/request.py", line 247, in urlretrieve with contextlib.closing(urlopen(url, data)) as fp: File "/usr/lib/python3.8/urllib/request.py", line 222, in urlopen return opener.open(url, data, timeout) File "/usr/lib/python3.8/urllib/request.py", line 531, in open response = meth(req, response) File "/usr/lib/python3.8/urllib/request.py", line 640, in http_response response = self.parent.error( File "/usr/lib/python3.8/urllib/request.py", line 569, in error return self._call_chain(*args) File "/usr/lib/python3.8/urllib/request.py", line 502, in _call_chain result = func(*args) File "/usr/lib/python3.8/urllib/request.py", line 649, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 403: Forbidden

  • HTTP Error 403 downloading Ogury plugin

    HTTP Error 403 downloading Ogury plugin

    Hi! First of all, thank you for your hard work!

    I'm trying to download the Ogury plugin from Godot GUI nativelib (not nativelib-cli) but I get the following error (HTTP Error 403 Forbidden):

     modules/gdscript/gdscript_functions.cpp:803 - Command python, exit code 1
    Installing [email protected]
    Traceback (most recent call last):
      File "C:\Users\me\Documents\Godot\godotGame\addons\NativeLib\nativelib", line 1416, in <module>
        install_package(p, v)
      File "C:\Users\me\Documents\Godot\godotGame\addons\NativeLib\nativelib", line 1186, in install_package
        download_package(package_name, version, package_meta)
      File "C:\Users\me\Documents\Godot\godotGame\addons\NativeLib\nativelib", line 674, in download_package
        path = download(f['url'], fname, home)
      File "C:\Users\me\Documents\Godot\godotGame\addons\NativeLib\nativelib", line 649, in download
        (filepath, headers) = urlretrieve(url, os.path.join(path, filename), reporthook=_progress)
      File "C:\Python38\lib\urllib\request.py", line 239, in urlretrieve
        with contextlib.closing(urlopen(url, data)) as fp:
      File "C:\Python38\lib\urllib\request.py", line 214, in urlopen
        return opener.open(url, data, timeout)
      File "C:\Python38\lib\urllib\request.py", line 523, in open
        response = meth(req, response)
      File "C:\Python38\lib\urllib\request.py", line 632, in http_response
        response = self.parent.error(
      File "C:\Python38\lib\urllib\request.py", line 561, in error
        return self._call_chain(*args)
      File "C:\Python38\lib\urllib\request.py", line 494, in _call_chain
        result = func(*args)
      File "C:\Python38\lib\urllib\request.py", line 641, in http_error_default
        raise HTTPError(req.full_url, code, msg, hdrs, fp)
    urllib.error.HTTPError: HTTP Error 403: Forbidden
    

    Could the problem be in this file? https://github.com/godot-asset/index/blob/master/meta/ogury/ogury_0.1.1_meta.json

    • https://dl.bintray.com/mobilap/nativelib/ogury_0.1.1_all.tgz -> 403
    • https://dl.bintray.com/mobilap/nativelib/ogury_0.1.1_android.tgz -> 403

    My specs:

    • Windows 10
    • Godot 3.3 stable
    • NativeLib 0.4.5
    • Tried with python 3.9.5 and 3.8.5
    • Enable Android for project
  • No such file or directory

    No such file or directory

    Steps to reproduce

    1. Go to AssetLib
    2. Find and install NativeLib
    3. Go to Project Settings and enable NativeLib
    4. Go to the NativeLib tab
    5. Set the path to Python.

    Result: NativeLib not found.

    Log: "No such file or directory: 'C: \ Users \ user \. Nativelib \ master.tar.gz'"

    Decision: Create .nativelib folder manually and press NativeLibCLI

  • local/push notification plugin not found for no apparent reason

    local/push notification plugin not found for no apparent reason

    Hi,

    The installation process of NativeLib and Local/Push notifications seems to work. But it throws an error.

    Steps to reproduce:

    1. open Godot 3.5 Stable (Apple Silicon - MacBook Pro M1 mid 2021);
    2. Set new project;
    3. Save scene;
    4. Go to Asset lib, install NativeLib;
    5. Go to Project Settings > Plugins > Enable NativeLib
    6. Go to NativeLib tab;
    7. Select python executable (in this case, python3.10);
    8. Check project platforms - Apple and iOS
    9. Install local/push notifications
    10. Play
    11. Throws error:
    E 0:00:00.164   initialize: No library set for this platform
      <C++ Source>  modules/gdnative/gdnative.cpp:293 @ initialize()
    W 0:00:01.346   call: LocalNotification plugin not found!
      <C++ Source>  modules/gdscript/gdscript_functions.cpp:789 @ call()
      <Stack Trace> localnotification.gd:20 @ _ready()
    

    I checked localnotification.gd:20 @ ready and path is ok. res://addons/localnotification-ios/localnotification.gdns exists in the right place.

    My best guess is an architecture issue (not compatible with Silicon?)

  • I am not able to load plugins now.

    I am not able to load plugins now.

    My local notification, adcolony, applovin, rateme pugin show error of plugin not found. It was working fine till yesterday. I came on github to post an issue and saw that you have updated it just one hour ago. Is there any chance that there's a mistake? Screenshot (260)

  • Does not get modules in godot 3.5

    Does not get modules in godot 3.5

    The title says it all with two errors that appear in the output console when attempting to fetch them.

    Downloaded master.tar.gz Updated 0 packages info

    Errors

    NativeLib repository not found Try to update repository info(button "REPO")

  • Could not resolve com.facebook.android:facebook-android-sdk:5.+

    Could not resolve com.facebook.android:facebook-android-sdk:5.+

    For some reason making Android builds just stopped working. Here's the gradle output:

    > Task :clean
    > Task :preBuild UP-TO-DATE
    > Task :preReleaseBuild UP-TO-DATE
    > Task :writeReleaseApplicationId
    > Task :analyticsRecordingRelease
    > Task :compileReleaseRenderscript NO-SOURCE
    > Task :generateReleaseResValues
    > Task :generateReleaseResources
    > Task :mergeReleaseResources FAILED
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':mergeReleaseResources'.
    > Could not resolve all files for configuration ':releaseRuntimeClasspath'.
       > Could not resolve com.gameanalytics.sdk:gameanalytics-android:5.4.4.
         Required by:
             project :
          > Skipped due to earlier error
          > Could not resolve com.gameanalytics.sdk:gameanalytics-android:5.4.4.
             > Could not get resource 'https://applovin.bintray.com/Android-Adapter-SDKs/com/gameanalytics/sdk/gameanalytics-android/5.4.4/gameanalytics-android-5.4.4.pom'.
                > Could not GET 'https://applovin.bintray.com/Android-Adapter-SDKs/com/gameanalytics/sdk/gameanalytics-android/5.4.4/gameanalytics-android-5.4.4.pom'. Received status code 502 from server: Bad Gateway
       > Could not resolve com.facebook.android:facebook-android-sdk:5.+.
         Required by:
             project :
          > Failed to list versions for com.facebook.android:facebook-android-sdk.
             > Unable to load Maven meta-data from https://dl.bintray.com/mobilap/maven/com/facebook/android/facebook-android-sdk/maven-metadata.xml.
                > Could not get resource 'https://dl.bintray.com/mobilap/maven/com/facebook/android/facebook-android-sdk/maven-metadata.xml'.
                   > Could not GET 'https://dl.bintray.com/mobilap/maven/com/facebook/android/facebook-android-sdk/maven-metadata.xml'. Received status code 502 from server: Bad Gateway
    
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
    
    * Get more help at https://help.gradle.org
    
    BUILD FAILED in 15s
    5 actionable tasks: 5 executed
    
    Exit Code: 1
    
The plugin serves as a starting point for writing a Mattermost plugin

Plugin Starter Template This plugin serves as a starting point for writing a Mattermost plugin. Feel free to base your own plugin off this repository.

Dec 10, 2021
Feb 10, 2022
Cf-cli-find-app-plugin - CF CLI plugin to find applications containing a search string

Overview This cf cli plugin allows users to search for application names that co

Jan 3, 2022
Twitter-plugin - Falco Plugin for Twitter Stream

Twitter Plugin This repository contains the twittter plugin for Falco, which fol

Mar 17, 2022
A client management system with go
A client management system with go

Client-management-system 一个简单客户端管理系统,类似电子教室管理软件,教师端和学生端均使用Golang编写,用Redis数据库储存信息。 功能 学生端 使用账号密码登入登出 在聊天室中畅所欲言 与其他在线学生或老师发送私聊消息 向老师发出提问 提交老师布置的作业并查询自己的

Oct 7, 2021
A prototype of a plugin system in Go using syscalls (execve)

Talking binaries Creating a viable plugin system in Go is challenging. Some avenues (and architectural examples) I considered are: go-plugin Go plugin

Jan 24, 2022
Tapestry is an underlying distributed object location and retrieval system (DOLR) which can be used to store and locate objects. This distributed system provides an interface for storing and retrieving key-value pairs.

Tapestry This project implements Tapestry, an underlying distributed object location and retrieval system (DOLR) which can be used to store and locate

Mar 16, 2022
gNXI Tools - gRPC Network Management/Operations Interface Tools

gNxI Tools gNMI - gRPC Network Management Interface gNOI - gRPC Network Operations Interface A collection of tools for Network Management that use the

Dec 15, 2022
Simple hosts file management in Golang (deprecated).
Simple hosts file management in Golang (deprecated).

Goodhosts (deprecated) This library is now deprecated. See the goodhosts organisation for the current maintained version. Simple hosts file (/etc/host

Mar 17, 2022
CDN for Open Source, Non-commercial CDN management
CDN for Open Source, Non-commercial CDN management

CDN Control Official Website: https://cluckcdn.buzz Documentation (Traditional Chinese): https://cluckcdn.buzz/docs/ 简体中文 README: README_CN.md Please

Dec 20, 2021
COGS: COnfiguration manaGement S.

COGS: COnfiguration manaGement S cogs is a cli tool that allows generation of configuration files through different references sources. Sources of ref

Dec 17, 2021
OCM events management service

Events Service This project provides a service that gives access to events generated by the OCM services. Building Locally Cloning There is nothing sp

Oct 15, 2021
gRPC User Management Service

Installation Clone the repo git clone https://github.com/geekbim/Go-gRPC.git Generate Protobuf sh run-proto.sh Running PostgreSQL Container sh postgre

Oct 11, 2021
LNC is a lightning network capital management tool built for routing nodes.

LNC is a lightning network capital management tool built for routing nodes.

Dec 21, 2021
DNS/DoT to DoH proxy with load-balancing, fail-over and SSL certificate management

dns-proxy Configuration Variable Example Description TLS_DOMAIN my.duckdns.org Domain name without wildcards. Used to create wildcard certificate and

Oct 26, 2022
Service Management App for Caddy v2

caddy-systemd Service Management App for Caddy v2. Please ask questions either here or via LinkedIn. I am happy to help you! @greenpau Please see othe

Sep 1, 2022
Msignal - Basic Utilities for OS Signal Management

msignal ?? - Basic Utilities for OS Signal Management Usage func main() { sysca

Mar 6, 2022
Whereis - Displays management information for IPs associated with the domain
Whereis - Displays management information for IPs associated with the domain

"whereis" is Displays management information for IPs associated with the domain.

Jan 7, 2023