Code Monkey home page Code Monkey logo

nativelib's Introduction

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.

nativelib's People

Contributors

drmoriarty avatar tibi4 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

nativelib's Issues

NativeLib repository not found!

Hi! thanks you in advance for your contribution with this plugin.

I follow all the steps but i reach always the same error.
First I download NativeLib from 'AssetLib' and after that i check the DrMoriarty plugin at Project -> Config --> Plugins.
Using Godot 3.5 Stable + Python 3.12 (tried other versions too).

But I obtain this error:

  • modules/gdscript/gdscript_functions.cpp:775 - NativeLib repository not found! Search at C:\Users\jonca
    /.nativelib/meta

  • modules/gdscript/gdscript_functions.cpp:775 - Try to update repository info (button "REPO")

image
image

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)

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

Doesn't work in China

It doesn't work in China.When i installed the plugin,and it showed NativeLib didn't 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!

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

Plugin library is not loading, certificate confirmation error.

image

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\KAMA\Documents\kHUTER-0.2.1.02\addons\NativeLib\nativelib", line 1148, in <module>
    storage_update()
  File "C:\Users\KAMA\Documents\kHUTER-0.2.1.02\addons\NativeLib\nativelib", line 313, in storage_update
    num = github_index_update()
  File "C:\Users\KAMA\Documents\kHUTER-0.2.1.02\addons\NativeLib\nativelib", line 209, in github_index_update
    download(url, 'master.tar.gz', path)
  File "C:\Users\KAMA\Documents\kHUTER-0.2.1.02\addons\NativeLib\nativelib", line 413, in download
    (filepath, headers) = urlretrieve(url, os.path.join(path, filename), reporthook=_progress)
  File "C:\Users\KAMA\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 241, in urlretrieve
    with contextlib.closing(urlopen(url, data)) as fp:
  File "C:\Users\KAMA\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 216, in urlopen
    return opener.open(url, data, timeout)
  File "C:\Users\KAMA\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 525, in open
    response = meth(req, response)
  File "C:\Users\KAMA\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 634, in http_response
    response = self.parent.error(
  File "C:\Users\KAMA\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 557, in error
    result = self._call_chain(*args)
  File "C:\Users\KAMA\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 496, in _call_chain
    result = func(*args)
  File "C:\Users\KAMA\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 749, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
  File "C:\Users\KAMA\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 519, in open
    response = self._open(req, data)
  File "C:\Users\KAMA\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 536, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "C:\Users\KAMA\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 496, in _call_chain
    result = func(*args)
  File "C:\Users\KAMA\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 1391, in https_open
    return self.do_open(http.client.HTTPSConnection, req,
  File "C:\Users\KAMA\AppData\Local\Programs\Python\Python310\lib\urllib\request.py", line 1351, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'codeload.github.com'. (_ssl.c:997)>

 modules/gdscript/gdscript_functions.cpp:775 - NativeLib repository not found! Search at C:\Users\KAMA
/.nativelib/meta
 modules/gdscript/gdscript_functions.cpp:775 - Try to update repository info (button "REPO")

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

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

Android Toast

Can you also add ability to show Android toasts in game?

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

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

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")

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

I can not Install appsflyer

I integrated Nativelib with godot3.5.3. and I installed Python3.12.
Libraries can now be displayed with reference to issues#16.

When I tried to install appsflyer, I got the following error:

modules/gdscript/gdscript_functions.cpp:775 - Command C:/Users/Severus Snape/AppData/Local/Programs/Python/Python312/python.exe, exit code 1
Checking project dependencies: [email protected]
Installing [email protected]
Traceback (most recent call last):
File "X:\Program_zip\Godot3.5.3\project\Robot Slime\addons\NativeLib\nativelib", line 1174, in
install_package(p, v)
File "X:\Program_zip\Godot3.5.3\project\Robot Slime\addons\NativeLib\nativelib", line 943, in install_package
if not install_package(p, v):
^^^^^^^^^^^^^^^^^^^^^
File "X:\Program_zip\Godot3.5.3\project\Robot Slime\addons\NativeLib\nativelib", line 948, in install_package
download_package(package_name, version, package_meta)
File "X:\Program_zip\Godot3.5.3\project\Robot Slime\addons\NativeLib\nativelib", line 438, in download_package
path = download(f['url'], fname, home)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "X:\Program_zip\Godot3.5.3\project\Robot Slime\addons\NativeLib\nativelib", line 413, in download
(filepath, headers) = urlretrieve(url, os.path.join(path, filename), reporthook=_progress)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Severus Snape\AppData\Local\Programs\Python\Python312\Lib\urllib\request.py", line 240, in urlretrieve
with contextlib.closing(urlopen(url, data)) as fp:
^^^^^^^^^^^^^^^^^^
File "C:\Users\Severus Snape\AppData\Local\Programs\Python\Python312\Lib\urllib\request.py", line 215, in urlopen
return opener.open(url, data, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Severus Snape\AppData\Local\Programs\Python\Python312\Lib\urllib\request.py", line 521, in open
response = meth(req, response)
^^^^^^^^^^^^^^^^^^^
File "C:\Users\Severus Snape\AppData\Local\Programs\Python\Python312\Lib\urllib\request.py", line 630, in http_response
response = self.parent.error(
^^^^^^^^^^^^^^^^^^
File "C:\Users\Severus Snape\AppData\Local\Programs\Python\Python312\Lib\urllib\request.py", line 559, in error
return self._call_chain(*args)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Severus Snape\AppData\Local\Programs\Python\Python312\Lib\urllib\request.py", line 492, in _call_chain
result = func(*args)
^^^^^^^^^^^
File "C:\Users\Severus Snape\AppData\Local\Programs\Python\Python312\Lib\urllib\request.py", line 639, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found

It indicates that the URL I am trying to download the package from cannot be found.
What should I do?

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?)

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.