Przeczytałem, istnieje wiele obszernych odpowiedzi (takich jak this one), ale świat Androida ewoluuje tak szybko, że wydają się być nieco przestarzałe, a official documentation nadal odnosi się do Eclipse z ADT.Android Studio 1.1, prosta konfiguracja testu junit
Używam AS 1.1 i próbuję skonfigurować proste testy junit, aby działały na emulatorze, bez Robolectric. Jeśli nie dołączę junit do mojego build.gradle
, nie mogę znaleźć @After
, @Before
i @Test
i otrzymam package org.junit does not exist
. Po dodaniu
// unit tests
androidTestCompile 'junit:junit:4.11'
błąd staje
Error:duplicate files during packaging of APK
[...]/app/build/outputs/apk/app-debug-test-unaligned.apk
Path in archive: LICENSE.txt
Origin 1: [...]/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar
Origin 2: [...]/.gradle/caches/modules-2/files-2.1/junit/junit/4.11/4e031bb61df09069aeb2bffb4019e7a5034a4ee0/junit-4.11.jar
You can ignore those files in your build.gradle:
android {
packagingOptions {
exclude 'LICENSE.txt'
}
}
zgodnie z sugestią konsoli bez license.txt, to wtedy działa, ale wydaje się, jakby hack. Zastanawiam się, czy może czegoś brakuje? Dzięki.
To sposób, w jaki robią to w naszym projekcie i wydaje się być oczekiwany sposób. – Joel
Wyklucz LICENSE.txt to normalna praktyka :) (a także META-INF/LICENSE.txt i META-INF/NOTICE.txt) – jademcosta
Masz ten sam problem, gdzie znajdują się twoje testy? – user1408682