libのソースコードがあります。アンドロイド用の静的ライブラリを作成したいと思います。 どうすればいいですか?実験的なgradleでこれを行う方法はありますか? また、別のアーチ(arm7、x86など)用にビルドしたいandroidの静的c libを作成する
1
A
答えて
0
Android用のネイティブバイナリを作成する最も簡単な方法は、ndk-build
ツールを使用することです。 Hereは、プロジェクトのビルドのセットアップ方法に関する完全なドキュメントです。そして、あなたは、次のコマンドでビルドを起動することができ
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := <lib_name> # put 'foo' to built libfoo.a
LOCAL_LDLIBS := -llog -lm # whatever libs you need
LOCAL_SRC_FILES := <source_files>
include $(BUILD_STATIC_LIBRARY)
:
Application.mk
:
# an example setup
APP_ABI := armeabi-v7a x86
APP_PLATFORM := android-16
APP_STL := stlport_static
NDK_TOOLCHAIN_VERSION := 4.8
そしてAndroid.mk
次の2つの余分なファイルを作成する必要が簡潔的には
$ ndk-build NDK_PROJECT_PATH=path/to/intermediate/results/dir NDK_LIBS_OUT=path/to/output/dir APP_BUILD_SCRIPT=path/to/Android.mk NDK_APPLICATION_MK=path/to/Application.mk
P.S. Android StudioにNDKサポートが改善されているにもかかわらず、手書きのmakefileとともにndk-buildを使用すると、プロジェクトのIMHOに柔軟性がもたらされます。とにかく、gradleのExec
タスクを使ってndk-buildベースのビルドを簡単に埋め込むことができます。
+0
回答ありがとうございますが、この方法でヘッダファイルを取得しますか? 私はアンドロイド用のdlibをビルドしようとしています.1500以上のファイルがあり、C++コードで使用するにはヘッダファイルが必要です。 – Vardan95
関連する問題
- 1. C++静的ライブラリ - .libから.aファイルを作成する方法?
- 2. C++ Irrlichtを静的libに
- 3. ビル静的C++ libには
- 4. C C DLLで使用する静的ライブラリ(.lib)
- 5. XCodeで静的ライブラリの静的ライブラリを作成する
- 6. Android NDK - ネイティブC++コードの静的解析
- 7. C++ 11パラメータパックから静的配列を作成する
- 8. Generics C# - 静的汎用クラスからインスタンスを作成する
- 9. ヘッダーファイルに静的フィールドを作成する| C++
- 10. 静的C++ライブラリの作成に関する問題
- 11. 静的な.libファイル内のMSVCリストシンボル
- 12. 静的データストアを作成するExtJS(4.1)
- 13. 静的メニューを作成するCSS
- 14. Visual Studioで静的/動的C++ライブラリを作成する際の問題
- 15. Cythonで静的C配列を作成できますか?
- 16. Androidの静的AlarmManager
- 17. C++静的非静的
- 18. Eclipseのyocto autotoolsプロジェクトに静的なlibをリンクするには
- 19. C++ DLLの作成:静的変数の初期化の問題
- 20. Javaで非静的メソッドへの静的参照を作成する方法は?
- 21. C++の静的メソッド
- 22. C#静的インラインメソッドパラメータ
- 23. 条件/待機の目的で静的メンバーを作成する
- 24. C#静的データベースクラス?
- 25. パブリック静的クラスのC#テストプライベート静的メソッド
- 26. 動的リンクライブラリ(C/C++)での静的変数の動作
- 27. C#で文字列の定数静的配列を作成するには?
- 28. Visual Studioで.libファイルを作成する
- 29. バインディングC++静的ライブラリ
- 30. C#でAndroidコントロールを動的に作成する
最新のAndroidスタジオ(2.2プレビュー5)は、Android NDK(ネイティブ開発キット)をサポートしており、http://tools.android.com/から入手できます。 –
お返事ありがとうございます。でも、あなたはlibをどのように構築すればいいですか? – Vardan95
android appの静的ライブラリを直接使用することはできません。これらのライブラリをラップし、これらの共有ライブラリをロードする共有ライブラリ(またはライブラリ)が必要になります。 –