Przeprowadzam mój projekt na Androida, aby stopniowo tworzyć system i nie mogę zaimportować projektu Androida z projektu Integration Test Android.Utwórz testowanie apk systemu Android przy użyciu systemu gradle build
Używam konfiguracji wielu projektów z kilkoma bibliotekami Androida i działa świetnie, ale mam problem z konfiguracją mojego projektu testowego z wieloma ustawieniami projektu. Z przyczyn zewnętrznych muszę nadal używać tej struktury.
MyProject/
| settings.gradle
+ MyApp/
| build.gradle
| src
| res
| libs
+ Instrumentation-Tests/
| build.gradle
| src
| res
| libs
moje aktualne pliki konfiguracyjne wyglądać następująco:
settings.gradle:
include ':MyApp', 'Instrumentation-Tests'
MyAppp/build.gradle:
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile files('.....jar')
compile project('....')
compile 'com.android.support:support-v4:13.0.+'
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 11
targetSdkVersion 16
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
I wreszcie mój Instrumentation-Tests/build.gradle
:
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile project(':MyApp')
compile files('.....jar')
compile 'com.android.support:support-v4:13.0.+'
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 11
targetSdkVersion 16
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
Po uruchomieniu gradle compileDebug
projekt MyApp
jest kompilowany poprawnie (i wszystkie jego moduły), ale kompilacja Instrumentation-Tests
kończy się niepowodzeniem, ponieważ nie może znaleźć klas Android zdefiniowanych w MyApp
.
Czytałem dokumentację i wiele postów, ale nie mogłem zrobić to praca, ja również próbowałem przy użyciu:
compile(project(':MyApp')) { transitive = true }
podczas deklarowania zależność.
Czy ktoś miał ten sam problem? Chciałbym dołączyć dane wyjściowe zależności projektu MyApp
do ścieżki klasy kompilacji , ale nie wiem, czy jest to możliwe przy użyciu wtyczki Android gradle
.
Czy czytasz na takie rzeczy: http://stackoverflow.com/questions/16586409/how-can-i-create-tests-in-android-studio i to: http://tools.android. com/tech-docs/new-build-system/user-guide # Testowanie TOC? Zastanawiam się, czy postępowałeś zgodnie z tymi instrukcjami, ale zmieniłeś lokalizację zestawów źródłowych, jeśli działałoby to z twoją obecną konfiguracją. Prawdopodobnie musisz określić katalogi źródeł testowych względem katalogu głównego projektu. – jDutton
Skończyło się na tym, że przeniosłem wszystko do struktury gradle, również przeniosłem wszystkie moje testy instrumentacyjne (jednostka i funkcjonalność) do folderu InstrumentationTest i wszystko działa! – David