对于本机应用程序,您可以通过构建框架并像黑盒一样访问它来保护源代码。
对于本机应用程序,是否可以将业务逻辑或某些组件构建为类似的东西? (例如npm包,但是如何隐藏源代码?最好的方法是用JScrambler混淆npm包?)
我正在为客户构建应用程序,他们没有购买拥有代码的许可证。他们拒绝让我们访问他们的证书来发布该应用,那么解决此问题的替代方法有哪些?
答案 0 :(得分:4)
我认为offline bundle可以胜任:
对于iOS
react-native bundle --dev false --entry-file index.js --bundle-output ios/main.jsbundle --platform ios
对于android
react-native bundle --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --platform android --assets-dest android/app/src/main/res/
默认情况下,使用--dev false
对其进行模糊处理(--minify true
)
为客户提供android
和ios
文件夹,让他们自己编译本机代码
答案 1 :(得分:2)
对于JavaScript代码,最好的选择可能是混淆,而JScrambler可能运行良好。除了迷惑这个特殊问题,我没有其他解决办法。
我在一个刚刚发布了新的JavaScript模糊处理产品JSDefender的团队中工作,它具有对React Native的特定支持,也许您可以尝试使用它来代替JScrambler。
答案 2 :(得分:0)
您可以在package.json中使用这些脚本。另外it's good for performance.
"bundle-ios": "react-native ram-bundle --entry-file index.js --platform ios --dev false",
"bundle-android": "react-native ram-bundle --entry-file index.js --platform android --dev false"
我不知道您使用的是哪个版本的react,但是如果您使用的版本高于0.60.4,则应检查Hermes(可用于android),它将js转换为字节码。
答案 3 :(得分:0)