是否可以从 java 代码创建 .so 库?

Is it possible to make .so library from java code?

我在 Java 上为 Android 编写程序。我试图在反编译中隐藏我的 java 代码。是否可以从 java 代码创建 .so 库?

回答您的问题:

Is it possible to make .so library from java code?

不可以,您必须使用 JNI 并编写 C 代码来实现您在 Java 代码中定义的本机函数。这样,.so 库是从 C 代码编译而来的。

到"hide my java code from decompilation"你应该使用proguard

The ProGuard tool shrinks, optimizes, and obfuscates your code by removing unused code and renaming classes, fields, and methods with semantically obscure names. The result is a smaller sized .apk file that is more difficult to reverse engineer.

没有任何混淆是完美的,但至少使用混淆器后,攻击者无法返回到您开始使用的相同源代码。

请记住,即使在 .so 中编译了 c,它也可以被逆向工程,所以这不是更好的解决方案。