我有一些我希望与某些同学分享的java代码,但我不想与他们分享来源。
为某人提供可以使用的Java可执行文件的标准方法是什么,但他们无法查看源代码。
不确定这是否相关,但我将给予他们的代码将在android上运行。
答案 0 :(得分:2)
这取决于“他们可以使用”的含义。
如果您只是希望他们能够在他们的手机(或模拟器)上运行您的应用程序,您可以给他们an .apk
file,这是Android应用程序的标准格式。生成.apk
的最简单方法是使用Eclipse的Android开发工具(ADT)插件。否则,您必须使用aapt
command。
如果您想允许他们将您的类添加到他们的应用程序中,您必须为他们提供一个包含已编译的.jar
文件的.class
文件。但是,可以使用反编译器将.class
文件重新转换为.java
个文件,这样如果您真的不希望它们看到您的代码,您可能会被卡住。
有一些工具 - 称为混淆器 - 会使反编译过程更加困难,但我个人不打算在这里使用它们,因为它们也会使调试更加困难。
任何人都无法将您的.apk
变回来源。 Android使用不同的虚拟机来标准Java,因此具有Dalvik字节码的.dex
文件而不是带有JVM字节码的.class
文件,目前没有工具可以将.dex
文件重新转换为.java
源文件。
答案 1 :(得分:1)
只将类文件打包成.jar文件,不要给它们提供源。
编辑: Android有自己的打包方式,我建议使用它。
答案 2 :(得分:1)
Android不使用Java运行时。我只使用Java作为源语言,它使用自定义字节码格式运行自定义运行时。您可以decompile the .dex byte code,但不能使用Java源代码,至少在本文发布时不是这样。