2015-03-17 25 views
6

Używam Androida Studio 1.1.0. Kiedy próbuję zsynchronizować Gradle plik, pojawia się następujący błąd:Nie znaleziono metody Gradle DSL: storeFile()

Gradle DSL method not found:storeFile()

Tu jest moja Gradle konfiguracja:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.2" 

    defaultConfig { 
     applicationId "skripsi.ubm.studenttracking" 
     minSdkVersion 16 
     targetSdkVersion 21 
     versionCode 1 
     versionName "1.0" 
    } 

    signingConfigs { 
     release { 
      storeFile (project.property("Students_tracking_keystore.jks") + ".keystore") 
      storePassword "####" 
      keyAlias "####" 
      keyPassword "#####" 
     } 
    } 
} 

może ktoś pomóc?

Odpowiedz

4

Kilka rzeczy do uwaga:

storeFile metoda DSL ma następujący podpis:.

public DefaultSigningConfig setStoreFile(File storeFile) 

czyli oczekuje File być przekazywane w prawdopodobnie trzeba umieścić File konstruktora w Twój kod, aby upewnić się, że faktycznie tworzysz obiekt File. Ponieważ obecnie nie przekazujesz pliku, Gradle narzeka, że ​​nie może znaleźć metody z odpowiednim podpisem.

Po drugie, obecnie dodajesz dwa sufiksy do nazwy pliku: .jks i .keystore. Powinieneś uwzględnić tylko jeden z nich na podstawie przyrostka pliku, do którego się odwołujesz (prawdopodobnie jest to .jks, ale powinieneś sprawdzić, aby upewnić się).

W skrócie, jeden z kolejnych wierszy zamiennych prawdopodobnie będzie pracować dla Ciebie:

storeFile file(project.property("Students_tracking_keystore") + ".keystore") 

lub

storeFile file(project.property("Students_tracking_keystore") + ".jks") 

lub

storeFile file(project.property("Students_tracking_keystore.keystore")) 

lub

storeFile file(project.property("Students_tracking_keystore.jks")) 
+0

gdzie mogę umieścić 'public DefaultSigningConfig setStoreFile (File storeFile)'? –

+0

Nie, to jest podstawowa metoda w stylu java, do której odwołuje się build.gradle. – stkent

+1

Jakie jest więc rozwiązanie tego problemu? chcę tylko zbudować moją aplikację na apk, więc mogę przetestować ją w prawdziwym urządzeniu. –

Powiązane problemy