微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 为什么Google建议将库复制到树中?

Google的instructions for using the Play Service API(例如)说:

copy the /extras/google/google_play_services/libproject/google-play-services_lib library project into the source tree where you maintain your Android app projects.

Note: You should be referencing a copy of the library that you copied to your source tree—you should not reference the library from the Android SDK directory.

这对我来说似乎很难看 – 为什么不从SDK目录中引用它?这有什么技术原因吗?或者是否可以明确控制何时升级

最佳答案
我想指出这完全是Eclipse的限制,它确实很难看.

问题是该库除源代码外还包含资源. Eclipse只能处理打包为jar文件的库,为了Android开发的目的,它不能包含资源.

因此,为了将库的资源编译到应用程序中,必须将库的源代码与资源一起添加到项目中.

如果您将构建移动到Maven,并使用“理解”Maven的IDE,那么您可以将包含资源的库编译为“apklib”,并以类似于jar文件的方式将其视为外部库.

新的基于Gradle的构建系统是基于Maven原语构建的,但是使用了不同的格式,’aar’.希望它最终还能支持apklib,以便Maven构建和Gradle构建可以互操作.

我刚刚完成了将Android应用程序转换为Maven构建的练习,包括使用一些apklibs.我可以告诉你,带有m2eclipse插件的Eclipse不能正确处理apklib. IntelliJ和新的Google Android Studio(基于IntelliJ)都可以毫无问题地处理apklib.

原文地址:https://www.jb51.cc/android/430870.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐