2

这个问题的后续。我正在使用 libgdx,因此根据此 wiki 页面,在我的 POM 中添加了(除其他外)以下部门:

        <dependency>
            <groupId>com.badlogic</groupId>
            <artifactId>libgdx-armeabi-gdx</artifactId>
            <version>${libgdx.version}</version>
            <scope>runtime</scope>
            <type>so</type>
        </dependency>

        <dependency>
            <groupId>com.badlogic</groupId>
            <artifactId>libgdx-armeabi-androidgl20</artifactId>
            <version>${libgdx.version}</version>
            <scope>runtime</scope>
            <type>so</type>
        </dependency>

wherelibgdx.version是我在 POM 中设置的属性(当前为 0.9.3,所有工件都加载到 repo 中,更改了 libgdx 本机加载顺序以考虑非标准文件名等)。

这是问题所在:我在 Eclipse 中使用带有 m2e-android 连接器的 ADT,当我从 ADT 启动项目时,它无法在 APK 中找到这些本机库。

另一方面,如果我使用适当的 Maven 目标启动,APK 构建良好,这些 .so 库正确放置在 lib/armeabi 中。

这是当前版本的 m2e-android 的缺陷吗(我确实注意到 GitHub 上的一些错误,但这些错误与 NDK 开发有关,而不是本机依赖项本身), 我只需要等待新版本吗?或者我可以在我的 POM 中添加一些会导致 m2e-android “看到”那些 deps 的东西吗?

4

1 回答 1

2

不幸的是,m2e-android 还不支持原生库依赖。我们意识到了这个问题,并且这些问题都存在。我们可以直接实现对原生库的支持:

https://github.com/rgladwell/m2e-android/issues/71

或者我们可以用 Maven APK 构建器替换 ADT APK 原生构建器:

https://github.com/rgladwell/m2e-android/issues/67

补丁和拉取请求感激地考虑。

于 2012-05-29T22:16:51.300 回答