3

我有两个 .so 文件需要用 apklib 打包,结构如下:

- libs
-- armeabi
--- libvinit.so
-- armeabi-v7a
--- libvinit.so

我知道我可以使用 install-file 将其上传到我的本地 repo 并在我的 pom 中将它们声明为依赖项,但问题是它们具有相同的名称,并且位于不同的文件夹中,这很重要。我如何确保当 Maven 打包 apklib 时会强制执行此结构?

4

2 回答 2

0

要获得所有架构,只需将 ndkArchitecture 配置添加到您的 pom.xml 中:

<plugin>
    <groupId>com.jayway.maven.plugins.android.generation2</groupId>
       <artifactId>android-maven-plugin</artifactId>
         <configuration>
             <sdk>
                <platform>${sdk.platform}</platform>
             </sdk>
             <ndkArchitecture>armeabi armeabi-v7a x86</ndkArchitecture>
         </configuration>
 </plugin>

但是为了工作 maven android 插件版本必须是:3.8.2 (with maven 3.1.1)

于 2014-01-28T13:57:48.013 回答
0

我正在努力寻找类似问题的答案(包括第三方提供的共享库)。我最终通过以下ndk-build方式直接使用exec-maven-plugin

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.1.1</version>
    <executions>
        <execution>
            <phase>compile</phase>
             <goals>
                <goal>exec</goal>
             </goals>
        </execution>
    </executions>
    <configuration>
        <workingDirectory>jni</workingDirectory>
        <executable>$ANDROID_NDK_HOME/ndk-build</executable>
    </configuration>
</plugin>

这最终将生成的库放置在本libs机项目的目录中。将android-maven-plugin使用 libs 目录作为要捆绑到生成的 apk(或 apklib)中的本机库的源。

您可能希望为.libs和.objndk-build

于 2013-04-17T01:17:37.130 回答