2

I'm developing a Flutter SDK that I want to distribute to integrators without exposing my source code. I've seen packages like zolozkit_for_flutter on pub.dev that don't show their source code (GitHub link) but are still available for use.

My requirements:

  • Protect proprietary implementation details
  • Allow easy integration via pub.dev or private repository
  • Prevent reverse engineering as much as possible

My project is currently structured as a Flutter module.

What's the recommended approach to convert this into a binary-only package similar to zolozkit_for_flutter?

Specifically:

  • How to compile to binary artifacts (AAR/Framework)?
  • What should the package structure look like?
  • How to properly reference these binaries in pubspec.yaml?
  • Can I still publish to pub.dev without exposing a source repository?
4
  • If the code can be executed by a computer, it can also be read by a human. You can try to make it more difficult for the human, by using code obfuscation and so on, but you will never be able to reliably protect proprietary implementation details. The only alternative is to remodel your approach to offer a service instead of an SDK. That service can be hosted on your own servers where you can execute the proprietary code and no one will ever have a chance to see the implementation details. You only send the results back over the internet. Commented Aug 24 at 14:43
  • You would need to start by creating a binary library for each platform (iOS and Android, probably written in native language). You will need to publish some source code, but that code will just be the wrapper code for the plug-in on each platform that calls the framework methods. Commented Aug 24 at 20:17
  • You can run flutter pub publish regardless if the package is in Github (or any version-control software). The connection to Github (or any other version-control saas) is made by the "repository" attribute in pubspec.yaml. Just omit it. Commented Aug 25 at 11:47
  • thank you lemme try and update here. Thanks again! Commented Aug 25 at 12:02

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.