Androidアプリの計測テストを作成しようとしています。com.google.android.gms.versionメタデータによるAndroid計測テストのエラー
A required meta-data tag in your app's AndroidManifest.xml does not exist. You must have the following declaration within the <application> element: <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
:私は私のテストを実行し、それが
com.google.android.gms.vision.face.FaceDetectorライブラリを使用しようとする私のコードのセクションをヒットすると、テストフレームワークは、次のエラーがスローされます
しかし、私のAndroidManifest.xmlにはすでに、右ここで、その正確なメタデータタグが含まれていない:
<application
android:allowBackup="true"
android:hardwareAccelerated="true"
android:icon="@drawable/icon"
android:label="NeuralEye-FaceID-2"
android:theme="@style/Theme.AppCompat"
android:largeHeap="true">
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.gms.vision.DEPENDENCIES"
android:value="face" />
私は何をしないのですか?
@RunWith(AndroidJUnit4.class)
public class FeatureExtractionTest {
public FeatureExtraction mFeatureExtraction;
public ConcurrentSkipListSet<String> skipList = new ConcurrentSkipListSet();
@Before
public void createFeatureExtraction() {
mFeatureExtraction = new FeatureExtraction();
}
@Test
public void testGetFeatures() throws Exception {
File file = new File("new.txt");
Context ctx = InstrumentationRegistry.getContext();
mFeatureExtraction.getFeatures(file, skipList, ctx);
}
}
EDIT:すべてのヘルプは高く評価され
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "tuan.search"
minSdkVersion 21
targetSdkVersion 23
versionCode 1
versionName "0.5 "
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile files('libs/opencsv-3.7.jar')
compile 'com.android.support:support-v4:23.4.0'
compile 'com.google.android.gms:play-services:9.0.1'
compile 'com.android.support:design:23.4.0'
compile 'org.projectlombok:lombok:1.16.8'
compile 'com.android.support:multidex:1.0.0'
compile 'org.apache.directory.studio:org.apache.commons.io:2.4'
testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:1.10.19'
androidTestCompile 'com.android.support.test:runner:0.4'
androidTestCompile 'com.android.support.test:rules:0.4'
androidTestCompile 'com.android.support:support-annotations:23.4.0'
androidTestCompile 'org.hamcrest:hamcrest-library:1.3'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
}
build.gradle追加マイインストルメントテストは次のようになります。私はすでにマニフェスト(this one, for example)にメタデータタグを追加すると言っているので、既に追加されていますが、テストはまだFaceDetectorライブラリを通過しません。
「google_play_services_version」を追加しないでください。 Google PlayのサービスAARを使用して自動的に追加されます。 –
@ JaredBurrowsあなたは明確にすることができますか?私はタグを完全に削除しようとしただけで、 "android:value"属性を削除しようとしましたが、両方のインスタンスでテストが実行されたときに同じエラーが表示されます。 –
build.gradleを表示します。 –