1

ネイティブ コードを含む Android プロジェクトがあります。リポジトリからチェックアウトしてクリーン バージョンをビルドすると、問題なくビルドされ、デバイスで起動しますが、project->cleaneclipse コマンドを実行した後、エラーが発生しました。

...
Install        : libgnustl_shared.so => libs/armeabi/libgnustl_shared.so

D:/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/bin/arm-linux-androideabi-strip: unable to rename './libs/armeabi/libgnustl_shared.so'; reason: File exists
make: *** [libs/armeabi/libgnustl_shared.so] Error 1
make: *** Deleting file `libs/armeabi/libgnustl_shared.so'

**** Build Finished ****

このエラーは、Cygwin コンソールでも同じ出力で再現できます (はい、MS Windows Vista で作業しています)。

プロジェクトの初期化中に同じエラーが発生しました。そして、管理者の下で実行されている cygwin コンソールを介して、libgnustl_shared.soファイルを入れてすべてのプロジェクト ファイルに 777 権限を設定することで解決しました。obj/local/armeabi/libgnustl_shared.soしかし今、これは役に立ちません。

私のプロジェクトは github で見つけることができます https://github.com/aboritskiy/pacman
私はまだプロジェクト ライセンスを設定していません。この教育プロジェクトで他のプロジェクト ライセンスに違反していないことを願っています。

JNI 対応の機能はjni-poweredブランチにあります。

編集:libgnustl_shared.so間違った方法で 含めているようです。

4

3 に答える 3

1

この問題は、Tortoise Git がインストールされていて、TGitCache.exe がバックグラウンドで実行されていて、ビルドしているコードがリポジトリ コードである場合に発生しました。

タスク マネージャーで TGitCache.exe を強制終了し、再ビルドしてみてください。

于 2014-07-22T07:35:26.940 に答える
1

リポジトリを取得https://github.com/aboritskiy/pacman/blob/jni-powered/libs/armeabi/libgnustl_shared.soしましたが、NDK はビルド中に作成する必要があると考えています。

于 2012-11-25T13:14:09.950 に答える
0

要約:

プロジェクトにを追加したかったlibgnustl_shared.soのです。EclipseとAndroidDeveloperToolsプラグインおよびAndroidNativeDeveloperToolsプラグインを使用していました。しかし、コンパイルエラーが発生しました。このエラーは、EclipseおよびCygwinコンソールを介して再現できました。

問題は:の設定ミスにありAndroid.mkました。含めるlibgnustl_shared.soには追加する必要があり ます

  1. LOCAL_C_INCLUDES := sources/cxx-stl/gnu-libstdc++/include/Android.mk

  2. APP_STL := gnustl_sharedApplication.mkファイル に。

しかし、最初は2番目の選択肢しかありませんでした。

このデバッグ中に役立つアドバイスを提供してくれたAlexCohnに感謝します。

于 2012-11-27T14:05:45.493 に答える