ndk-build manualy を正常に実行して、Android ネイティブ ライブラリをビルドしました。最後に、定義されたすべてのプラットフォーム用のライブラリが /libs/ ディレクトリにあります。
次に、maven プラグインを使用して同じビルドを試みます。pom.xml で、次のプラグインを定義します。
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>${android-maven-plugin.version}</version>
<configuration>
<ndk>
<path>${env.ANDROID_NDK_HOME}</path>
</ndk>
<clearNativeArtifacts>false</clearNativeArtifacts>
<ndkArchitectures>armeabi armeabi-v7a x86</ndkArchitectures>
<sdk>
<platform>${android.api.version}</platform>
<path>${env.ANDROID_HOME}</path>
</sdk>
<ndkBuildAdditionalCommandline>NDK_APP_OUT=${project.basedir}/obj/${android.liboutdir
</ndkBuildAdditionalCommandline>
<unndeployBeforeDeploy>false</undeployBeforeDeploy>
</configuration>
</plugin>
実行: mvn compile
. ライブラリが構築され、/libs// に配置されましたが、残念ながらその後削除されました。ログは次のとおりです。
[WARNING] Excluding native dependency attached by this build
[INFO] executing 24 parallel jobs
[INFO] /home/user/android/android-ndk-r9/ndk-build [-C, /home/user/workspace/webrtc/trunk/android/voice-client-native, NDK_APPLICATION_MK=jni/default_debug.mk, -j, 24, NDK_TOOLCHAIN=arm-linux-androideabi-4.6, APP_ABI=armeabi-v7a, NDK_APP_OUT=/home/user/workspace/webrtc/trunk/android/voice- client-native/obj/default_debug, all]
[INFO] Building jar: /home/user/workspace/webrtc/trunk/android/voice-client native/target/voice-native-1.0-SNAPSHOT.har
[INFO] Cleaning up extracted include directories used for build
[INFO] Creating native output directory /home/user/workspace/webrtc/trunk/android/voice-client-native/libs/x86
ディレクトリlibs
は空ですが、ライブラリは にありtarget/ndk-libs/
、私には適していません。
実行するmvn install
と、次の出力が得られます。
Failed to install artifact com.tuenti.voice:voice-native:so:armeabi-v7a:1.0-SNAPSHOT: /home/user/workspace/webrtc/trunk/android/voice-client-native/libs/armeabi-v7a/libvoiceclient.so (No such file or directory) -> [Help 1]
私は何を間違っていますか?