Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

An SDK use question - how to redistribute an app using this SDK #1

Open
KnedlikMCPE opened this issue Nov 29, 2021 · 1 comment
Open

Comments

@KnedlikMCPE
Copy link

Hello! I'm starting to make an app for flight sims that uses this SDK, because I'm most comfortable using java as my programming language. I couldn't but wonder how using SDKs works in general. I'm not that new to programming, but this is a new topic for me. So to the question, how do you redistribute an app using this specific SDK? Do you redistribute the SDK with the app in one jar, or do you have users downloading the SDK separately? If it helps, my program will most likely be open-source. If you have users downloading it separately, how do you import the SDK into the app? Hope I'm not asking too many questions. Thanks in advace.

@Mouseviator
Copy link
Owner

You do not need your user to have to download the library separately, that would be .. not very friendly. You need to distribute these files with your program:

  • FSUIPC-1.0.2.jar - which is the jar of the library itself. I usually have 3rd party libraries in the lib folder.
  • README for the library.
  • fsuipc_java32.dll and fsuipc_java64.dll - These are the "bridges" between Java and C++ FSUIPC library. These usually needs to be in the same place as the main application jar file.

The above is the requirement for the application to work. To comply with the license (I may be wrong here, it is long time since I studied it more precisely), I think it says the source code of the library (not your project) must be available. This I think can be done by including a link for download or better by putting the zip with the source code somewhere within your app. There should be also notice in the readme of you app that it uses this library and probably also in the About dialog, if there is one... If you modify the library, the source code must be included along with some description of the changes, and again, I think it applies to the minimum amount of code, you do not need to open your whole app.

About linking, in my case, I use Netbeans and there I can define "Java libraries", which I then use as dependencies for my projects. The IDE (Netbeans) will than copy all libraries to the lib folder of my app during compiling (this of course depends on the setup, the directory structure can be different). The libraries allows me to specify the main library files , ie.the FSUIPC-1.0.2.jar, the javadoc file: FSUIPC-1.0.2-javadoc.jar, and the sources file: FSUIPC-1.0.2-sources.jar. Thanks to the javadoc file, the IDE can show me the documentation for methods, functions, .etc so I don't have to have it open in separate window and sources files allows you to see the source code of the library if during debugging you step inside it. With another IDE's like Eclipse, it will be similar.

Hope I was able to answer you question.... :) If you have any more questions, don't hesitate to ask. Also, if you find any bug or have some suggestions, I will be happy to hear about those.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants