Closed LucaDavolio closed 2 years ago
Ciao @LucaDavolio
ricevo subito un errore da il file
WhiteLabelApplication.kt
a causa diBuildConfig
.VERSION_NAME che non viene trovato; ho controllato e nella versione precedente del progetto non c'era. Possibile che non sia proprio stato dichiarato e per questo da errore?
La reference BuildConfig.VERSION_NAME
non è affatto una novità di progetto, essendo presente/usata sin dalla release 1.1.2 (Settembre 2021) in FirstActivity.kt
- ved. funzione checkAppMinimumVersion
per controllo obsolescenza versione app.
Peraltro, il commit ccfe7e7
- promosso in develop branch 5gg fa (quindi dopo la finalizzazione del codice release app/UI 1.2.9) - si limita solo ad aggiungere tale reference in WhiteLabelApplication.kt
per ridefinire appVersion in User Agent da BuildConfig.SDK_VERSION
(definizione di base in DGC-SDK) a BuildConfig.VERSION_NAME
.
Infatti, il passaggio bundle classes (nel quale avviene effettivamente l'allineamento app/DGC-SDK per le reference BuildConfig) è esente da errori, come puoi vedere anche dall'immagine allegata.
Visto che è evidentemente una questione specifica del tuo ambiente di build, effettua un clean di build/progetto + cache, quindi riavvia il progetto & ricontrolla.
Qualora dovessi continuare a riscontrare errore di risoluzione/bundle per la classe BuildConfig in fase di build, sarebbe indicato che procedessi a ricreare da zero il progetto con diverso nome directory app, onde esser certo di escludere residui/conflitti di attività con codice anteriore.
Nonostante abbia ricreato il progetto da zero in un'altra directory, l'errore è sempre lo stesso: non trova BuildConfig
, riusciresti a dirmi in che file viene dichiarato in modo che io possa controllare se è presente nel mio progetto e se, come immagino, non c'è, possa capire il perché ed importarlo manualmente.
Grazie in anticipo.
Ciao @LucaDavolio
Nonostante abbia ricreato il progetto da zero in un'altra directory, l'errore è sempre lo stesso: non trova
BuildConfig
La classe BuildConfig
referenziata da it.ministerodellasalute.verificaC19.BuildConfig
NON è dichiarata staticamente.
Viene generata dinamicamente da gradle nella fase di Build \ Make Project - in funzione delle costanti di config dichiarate staticamente per type/variant di build (quindi debug o release in questo caso).
BuildConfig.VERSION_NAME
viene infatti generato in funzione della dichiarazione statica versionName "1.2.9"
in app\build.gradle . Lo ritrovi appunto nel codice intermedio Java compilato/generato - app\build\generated\source\BuildConfig\<variant>\it\ministerodellasalute\verificaC19\BuildConfig.java
.
\ Nel caso p.es. di build del progetto in variant/type release, questo è il relativo codice - generato dinamicamente da gradle :
/**
* Automatically generated file. DO NOT MODIFY
*/
package it.ministerodellasalute.verificaC19;
public final class BuildConfig {
public static final boolean DEBUG = false;
public static final String APPLICATION_ID = "it.ministerodellasalute.verificaC19";
public static final String BUILD_TYPE = "release";
public static final int VERSION_CODE = 665;
public static final String VERSION_NAME = "1.2.9";
// Field from default config.
public static final String BASE_LINK_URL = "https://www.dgc.gov.it";
// Field from build type: release
public static final String FAQ_URL = "https://www.dgc.gov.it/web/app.html";
// Field from build type: release
public static final String PRIVACY_POLICY_URL = "https://www.dgc.gov.it/web/pn.html";
// Field from build type: release
public static final String VERIFICATION_FAQ_URL = "https://www.dgc.gov.it/web/faq.html#verifica19";
}
\ La sua indicazione come unresolved reference nella fase preliminare statica di sync/indexing - cioè prima di procedere con la compilazione del progetto - non costituisce affatto condizione di build error, a patto che ovviamente siano correttamente definiti/presenti i valori statici richiamati da app\build.gradle .
Se invece - pur avendo correttamente clonato le branch repo dei progetti (verifier-app \ DGC-SDK \ core) - non riesci proprio a portare a compimento la fase di Build \ Make Project, ottenendo KO build prima della generazione di BuildConfig.java
, allora - in tal caso - c'è un problema specifico del tuo ambiente di build.
In tali situazioni specifiche si verifica appunto prima con un semplice flush/reset di build e cache, onde cancellare residui/disallineamenti da precedenti attività di build.
Qualora questo non sia ancora risolutivo, si procede di tabula rasa & nuova clonazione del progetto con diversa rinomina della directory project app, onde escludere anche eventuali situazioni derivanti p.es. da tuoi aggiornamenti autonomi (e non dovuti) della versione di gradle e/o dei plugin di progetto.
Grazie mille, ho risolto il problema. Come mi aveva detto lei l'indicazione di unresolved reference nella fase preliminare statica di sync/indexing non costituiva un build error.
Ciao, ho appena scaricato il progetto con l'ultima versione dell'applicazione e, nonostante abbia scaricato da zero anche sdk, certlogic e core per sicurezza, ricevo subito un errore da il file
WhiteLabelApplication.kt
a causa diBuildConfig
.VERSION_NAME che non viene trovato; ho controllato e nella versione precedente del progetto non c'era. Possibile che non sia proprio stato dichiarato e per questo da errore?