Italian Activity.LoadLayout: errore java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

Sagenut

Expert
Licensed User
Longtime User
Certo.....sempre con SDK Manager.
Se non è nelle Installed la troverai in ALL e la potrai installare.
 

LucaMs

Expert
Licensed User
Longtime User
E mica poi spari' così! Ce devi fa sape'; Sagenut, UDG ed io siamo in ansia, vogliosi di sapere se hai risolto!

Non dovesse funzionare nemmeno il (giusto) suggeimento di Sagenut, prova quanto al post 14# (Jetified)
 

MARCO C.

Active Member
Licensed User
Controlla su SDK Manager di avere questo installato
View attachment 86145
Io credo che ti manchi questo ed eventualmente altre cose da cui dipende lo stesso.

Questo mi pare che mi indichi che è presente :(

upload_2019-12-7_21-51-9.png
 

Attachments

  • upload_2019-12-7_21-50-17.png
    upload_2019-12-7_21-50-17.png
    192.2 KB · Views: 152

MARCO C.

Active Member
Licensed User
Buonasera a tutti,
la storia infinita .. continua . ...

Per assurdo è scaricato nuovamente il progetto originale : AppCompatWithSlidingMenu.zip

per capire se almeno un lavoro non fatto da me ... andasse a buon fine .
Ho modificato solo la versione sul manifest modificando
android:targetSdkVersion="26" ... da 21 a 26 , dietro consiglio del LOGS di B4A .

Sempre lo stesso assurdo errore sul layout Activity.LoadLayout("1")


java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

upload_2019-12-7_22-8-49.png


upload_2019-12-7_22-13-25.png


Copying updated assets files (2)
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
Error occurred on line: 27 (Main)
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at anywheresoftware.b4a.keywords.LayoutBuilder.loadLayout(LayoutBuilder.java:170)
at anywheresoftware.b4a.objects.ActivityWrapper.LoadLayout(ActivityWrapper.java:209)
at b4a.example.main._activity_create(main.java:390)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:732)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:351)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:255)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:144)
at b4a.example.main.afterFirstLayout(main.java:104)
at b4a.example.main.access$000(main.java:17)
at b4a.example.main$WaitForLayout.run(main.java:82)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5951)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at anywheresoftware.b4a.objects.CustomViewWrapper.AfterDesignerScript(CustomViewWrapper.java:64)
at anywheresoftware.b4a.keywords.LayoutBuilder.loadLayout(LayoutBuilder.java:162)
... 21 more
Caused by: java.lang.NoClassDefFoundError: de.amberhome.objects.appcompat.internal.InternalToolbar
at de.amberhome.objects.appcompat.ACToolbarLightWrapper.innerInitialize(ACToolbarLightWrapper.java:28)
at anywheresoftware.b4a.objects.ViewWrapper.Initialize(ViewWrapper.java:67)
at de.amberhome.objects.appcompat.ACToolBarWrapper.Initialize(ACToolBarWrapper.java:66)
at de.amberhome.objects.appcompat.ACToolBarWrapper._initialize(ACToolBarWrapper.java:147)
... 25 more
** Activity (main) Resume **


Continuo a non capire... la cosa non è logica :mad:

posso tornare indietro dalla versione SDK attuale ? :confused:
 

Sagenut

Expert
Licensed User
Longtime User
Non so più a cosa pensare.
Qualcosa da cambiare nel Manifest?
 

Sagenut

Expert
Licensed User
Longtime User
Però al momento l'errore sembra fare riferimento al SDK di base.... Perché passando ad AndroidX credo che ci siano da scaricare anche tutti i nuovi componenti in formato AndroidX.
Però effettivamente ancora non sappiamo su che tipo di SDK è adesso @MARCO CORRIAS
 

LucaMs

Expert
Licensed User
Longtime User
Però al momento l'errore sembra fare riferimento al SDK di base.... Perché passando ad AndroidX credo che ci siano da scaricare anche tutti i nuovi componenti in formato AndroidX.
Però effettivamente ancora non sappiamo su che tipo di SDK è adesso @MARCO CORRIAS
Sono quasi certo che tutto è nato dopo aver lanciato i vari aggiornamento raccomandati
dal SDK manager
 

Sagenut

Expert
Licensed User
Longtime User
Io ricevo, raramente, qualche aggiornamento ancora anche sul SDK base quindi non ho dato per scontato che sia passato all'X. :D
 

LucaMs

Expert
Licensed User
Longtime User
Mai che mi si... DII retta :D

(oggi un giornalista de LA7 c'ha pensato un po', poi ha evitato di usare il congiuntivo, come avrebbe dovuto, ed ha praticamente cambiato la sua domanda.
Come siamo ridotti!)

upload_2019-12-7_23-0-46.png


Se almeno cacciassero giornalisti e presentatori TV CAPRE...!
 

MARCO C.

Active Member
Licensed User
Non so più a cosa pensare.
Qualcosa da cambiare nel Manifest?

sul progetto originale di Erel ??? ho cambiato solo il android:targetSdkVersion="26" .
Quando l'ho provato la prima volta ... ossia prima di passare alla versione SDK AndroidX :mad: ... funzionava alla grande !!
 

MARCO C.

Active Member
Licensed User
Nel path hai l'SDK 29; impostalo anche nel manifest (target).

MA.... hai "per caso" dato retta ai miei consigli del post... 14? (questo è il 26!)

[ Nel path hai l'SDK 29;] , ho modificato come da vs indicazioni : sono tornato al 28 .
 

MARCO C.

Active Member
Licensed User
Usando AndroidX, alcune librerie devono "subire" l'adattamento da quel tool Jetify!
Secondo me Appcompat è una di queste!

Questo invece non l'ho capito ....benissimo .
In pratica le librerie aggiuntive dovrei posizionarle su una cartella alternativa ( librerie aggiuntive) ... e lanciare questo Jetifier ??

Sinceramente : non ho capito a cosa serva !!:( . C'è un post dove viene spiegata questa ( ....purtroppo per me ) novità ?

Vi riporto di seguito la compilazione del progetto

B4A Versione: 9.50
Java Versione: 8
Analisi del Codice. (0.20s)
Building folders structure. (0.18s)
Compilazione del codice. (1.54s)
Compilazione del codice di layouts (0.23s)
Organizzazione Librerie. (0.00s)
(AndroidX SDK)
Generazione file R. (9.15s)
Compilazione del codice debugger. (9.73s)
Compilazione del codice Java prodotto. (10.83s)
Conversione byte code - ottimizzazione dex. (6.11s)
Packaging files. (4.52s)
Copia risorse delle librerie (0.58s)
Found 2 resource files.
Firmo il package file ( chiave privata ). (7.22s)
ZipAlign file. (0.22s)
Installazione file sul dispositivo.
 

Sagenut

Expert
Licensed User
Longtime User
@LucaMs al post #14 ti aveva già postato di verificare il corretto processo di passaggio ad Android X.
Io non avevo capito che tu eri già passato al nuovo sistema e ti davo indicazioni su quello vecchio.
Rileggi bene il suo post.
Del resto @LucaMs ha sempre ragione:
Questa è la differenza tra un Expert (Lui) e un Utonto (Io). :p
 

LucaMs

Expert
Licensed User
Longtime User
In pratica le librerie aggiuntive dovrei posizionarle su una cartella alternativa ( librerie aggiuntive) ... e lanciare questo Jetifier ??
Ci sono librerie "ufficiali" che è meglio conservare nella cartella delle librerie internal; le altre in una cartella per le "addizionali", "aggiuntive".
La struttura migliore è quella consigliata da Erel, anche perché il compilatore-IDE le riconosce e, ormai non lo ricordo più, mi pare di averti suggerito come impostare la strutture delle cartelle proprio nel post 14 (suggerimento di Erel).

A quanto ho capito (anch'io non sono espertissimo, soprattutto per pigrizia :D), alcune librerie necessitano di quell'adattamento generato dal tool Jetify e io sospetto che Appcompat sia una di queste.

Avvia Jetifier e clicka sul tasto "Jetify". Questo dovrebbe adattare tutte le librerie che hai senza alcun pericolo, in quanto verranno conservate anche le versioni originali.
 

MARCO C.

Active Member
Licensed User
Fatto... Jetify ha elaborato le librerie... errore sempre lo stesso.
E' ufficiale ...abbandono per ora la libreria Appcompat :rolleyes:, non perdere un'altra settimana ;)
 
Top