JavaとC/JNIコードの組み合わせであるAndroidプロジェクトのテストでEmmaを実行しようとしています。ビルドとテストは正常に動作しますが、emma
を追加するたびに、私は不思議な例外が発生します。私はAndroid SDK v20.1とNDK r8bを使用しています。Androidのビルドに「emma」を追加するビルドのトリガー「ローカル変数の型の不一致」の例外
プロジェクトは、ここではそのAndroidのライブラリプロジェクトです: https://github.com/guardianproject/IOCipher とテストはここにある: https://github.com/guardianproject/IOCipherTests
build.xml
ファイルはandroid update test-project
を使用して生成されます。ここ
例外です:
-dex:
[dex] Converting compiled files and external libraries into /var/lib/jenkins/workspace/IOCipherTests/IOCipherTests/bin/classes.dex...
[dx]
[dx] EXCEPTION FROM SIMULATION:
[dx] local variable type mismatch: attempt to set or access a value of type int using a local variable of type info.guardianproject.libcore.io.ErrnoException. This is symptomatic of .class transformation tools that ignore local variable information.
[dx]
[dx] ...at bytecode offset 0000002e
[dx] locals[0000]: Linfo/guardianproject/iocipher/File;
[dx] locals[0001]: Linfo/guardianproject/iocipher/FileDescriptor;
[dx] locals[0002]: <invalid>
[dx] locals[0003]: <invalid>
[dx] locals[0004]: <invalid>
[dx] locals[0005]: [Z
[dx] stack[top0]: int{0x00000001/1}
[dx] ...while working on block 002c
[dx] ...while working on method createNewFile:()Z
[dx] ...while processing createNewFile()Z
[dx] ...while processing info/guardianproject/iocipher/File.class
[dx]
[dx] 1 error; aborting
BUILD FAILED
/opt/android-sdk/tools/ant/build.xml:850: The following error occurred while executing this line:
/opt/android-sdk/tools/ant/build.xml:852: The following error occurred while executing this line:
/opt/android-sdk/tools/ant/build.xml:864: The following error occurred while executing this line:
/opt/android-sdk/tools/ant/build.xml:266: null returned: 1
antビルドファイルplzの関連部分を追加してください。 – coolcfan
ant buildファイルは 'android update test-project'を使って生成されたものです。私は本当に投稿する部分を知りません。 –
FWIW CまたはJNIコードを持たないライブラリプロジェクトで同じエラーが発生しました。 – spacemanaki