android library project and Activities

孤街醉人 提交于 2019-12-17 22:22:58

问题


I'm developing an Android SDK library. In this library I've declared and used some Activities. Now I've tried to include the library in an application but I've noticed that I must declare all the library activities in the app. This is a very bad thing because in the library, I've included a lot of activities and the developer has to copy all the activities in his own app. Is there a solutions to this?


回答1:


No, this is a known limitation of the libraries at the moment. There is a lot of discussion in the android development community of fixing this in the future, but for now it is a limitation of how they do libraries.

From the doc

In the manifest file of the application project, you must add declarations of all components that the application will use that are imported from a library project. For example, you must declare any <activity>, <service>, <receiver>, <provider>, and so on, as well as <permission>, <uses-library>, and similar elements.

Also, excellent answer here by Mark Murphy.




回答2:


Update 1: When using Gradle, Manifest merging is done now automatically. More details on how it works and how to resolve conflicts can be found here (thanks for the remark guy.gc)

Original post:

To update this thread: auto merge is now possible. You would only have to add

manifestmerger.enabled=true

to your project.properties. Using the new "manifestmerger" property in Android discusses this also.

I know this is an old thread but I just stumbled upon it and want to prevent others (me included) from thinking it is not possible. This one line was totally enough in my projects to make use of Activities in the library-consuming App.



来源:https://stackoverflow.com/questions/5046864/android-library-project-and-activities

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!