在android应用程序中,我们包含许多库文件,例如google-play-services-lib
等等Facebook-SDK
。但我们从未真正使用这些库中的所有功能和类,所以我的问题是,当.apk
文件被创建时,是否包含所有这些类或我们使用的唯一类包含在我们的应用?如果是,那么我们有办法解决这个问题吗?即我们可以删除或做一些事情来避免包含所有类吗?
谢谢你...
在android应用程序中,我们包含许多库文件,例如google-play-services-lib
等等Facebook-SDK
。但我们从未真正使用这些库中的所有功能和类,所以我的问题是,当.apk
文件被创建时,是否包含所有这些类或我们使用的唯一类包含在我们的应用?如果是,那么我们有办法解决这个问题吗?即我们可以删除或做一些事情来避免包含所有类吗?
谢谢你...
您应该使您的 Android 应用程序尽可能小。因此,您应该只在您真正需要的 jar 中包含类。
http://www.vogella.com/blog/2010/02/11/java-library-jar-android/
最好使用 Proguard 混淆您的代码。
ProGuard 是一个 Java 类文件收缩器、优化器、混淆器和预验证器。收缩步骤检测并删除未使用的类、字段、方法和属性。优化步骤分析和优化方法的字节码
混淆还可以在一定程度上保护您的代码。
要在您的项目中启用 ProGuard,请编辑 project.properties
# Project target.
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt
target=Google Inc.:Google APIs:16
android.library.reference.1=../actionbarsherlock
http://developer.android.com/tools/help/proguard.html
http://proguard.sourceforge.net/index.html#manual/introduction.html