2017-01-20 6 views
11

私は、Android NDK用のgoogletestを使用して正しくテストする予定のかなり複雑なC++ライブラリを作成しています。アンドロイドでjavaを呼び出すC++コードのテストにgoogletestを使用するには?

は、これまでのところ、私はGoogleの試験例に従うと、このようなプロジェクト構造:

adb push libs/armeabi/libfoo.so //data/local/tmp/ 
adb push libs/armeabi/libgnustl_shared.so //data/local/tmp/ 
adb push libs/armeabi/foo_unittest //data/local/tmp/ 
adb shell chmod 775 //data/local/tmp/foo_unittest 
adb shell "LD_LIBRARY_PATH=//data/local/tmp //data/local/tmp/foo_unittest" 
:スクリプトファイルを使用してテストを私が構築

LOCAL_PATH := $(call my-dir) 

    include $(CLEAR_VARS) 
    LOCAL_MODULE := foo 
    LOCAL_SRC_FILES := foo.cpp 
    include $(BUILD_SHARED_LIBRARY) 

    include $(CLEAR_VARS) 
    LOCAL_MODULE := foo_unittest 
    LOCAL_SRC_FILES := foo_unittest.cpp 
    LOCAL_SHARED_LIBRARIES := foo 
    LOCAL_STATIC_LIBRARIES := googletest_main 
    include $(BUILD_EXECUTABLE) 

    $(call import-module,third_party/googletest) 

およびコール:

Android.mkを

これは多くの参照を持たない純粋なC++コードではうまく動作しますが、多くのコードは実際にjava/jni呼び出しに依存します。どのようにすれば、C++コードだけでなく、Javaやリソースも含む完全なapkファイルでgoogletestを実行できますか?あなたのテストプログラム内

答えて

2

、あなたは次のようになりますmain()関数があります:

​​

をこれは、あなたが他のどのようなテストプログラムを呼び出すことができます:ちょうどに実行可能ファイルの名前を入力しますシェル。

https://github.com/google/googletest

+0

が、どのように私はAPKとすることを組み合わせることでしょう?上の

詳細情報 – Luz

+0

Javaでコールバックを作成し、JNIからコールバックして、ダウンロードしたパッケージをインストールできます。 – Shobhit

関連する問題