我试图理解为什么ndk只支持有限的.so库,如中所述 http://developer.android.com/ndk/guides/stable_apis.html
为什么java框架使用的其他.so库(libhardware,libgui,libservicesensor等)也不能与ndk一起使用?
答案 0 :(得分:2)
一旦公开API,他们就无法以影响使用它的现有应用程序的方式对其进行更改,即它只能扩展,而不能更改。这给围绕它的任何开发增加了相当多的负担,并限制了它可以以何种方式开发。因此,我们必须仔细决定他们准备公开支持哪些API,并将其与公开的利益进行权衡。
由于Android的设计是主公共API在java中,因此在NDK中使所有内容都可用是一个巨大的重复。 (即使较低级别的组件是C / C ++,它们也不是公开的,它们仅供更高级别的公共API组件使用。)实际上,只有少数本机API已经公开了为了方便起见,这是实现良好性能所必需的,以及一些有限的部分。