如何分发Android应用程序(以便人们看不到源代码)

时间:2010-07-20 19:54:35

标签: android executable

我有一些我希望与某些同学分享的java代码,但我不想与他们分享来源。

为某人提供可以使用的Java可执行文件的标准方法是什么,但他们无法查看源代码。

不确定这是否相关,但我将给予他们的代码将在android上运行。

3 个答案:

答案 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源代码,至少在本文发布时不是这样。