PDA

Ver la Versión Completa : DEPLOY ANDROID 64 BITS SOLUCIÓN A [PAClient Error] Error: E6408 Y SIMILARES


dani36652
20-12-2019, 09:29:14
Hola a todos amigos programadores Delphi!... Reciban un cordial saludo... Hoy quisiera venir a compartirles mi solución a la problemática planteada en el título.
Como sabrán, éste porblema (en mi caso) surge al querer hacer "Deploy" a mi aplicación android de 64 bits con la configuración de "Applicaton Store", teniendo el keytool y todo lo que se requería ya asignado en las configuraciones del proyecto... Cada que se quería hacer "Deploy" fallaba y mostraba el error e incluso mostraba que habían errores con aapt2 y que no existía el archivo especificado... Y era bastante extraño ya que si ejecutaba la app en mi teléfono en modo "Debug" se realizaba correctamente, e incluso si hacía el Deploy en modo "Applicaton Store" pero para 32 bits, se realizaba de manera correcta lo cual me complicó más las cosas!...
Cometí ERRORES como instalar un jdk con una versión más "actual" y nada!, reinstale y desintsale como 10 veces el rad studio sin mentirles!!!... Hasta hace una hora que encontré la solución...

¡AHORA PUEDO HACER DEPLOY DE FORMA SATISFACTORIA EN APPS DE 64 BITS EN MODO APPLICATON STORE!
Solución :

En mi caso, el problema estaba en el nombre del perfil de usuario en mi computadora (windows10) tenía DANIEL RODRÍGUEZ como nombre y después de crear otro perfil(cuyo nuevo nombre es Daniel) , y pasar todos mis archivos del rad studio configuré de nuevo el entorno y listo!!! Todo se había solucionado....

Como conclusión:
-El IDE toma como referencia en un path que ayuda a generar los apk, el nombre del perfil de usuario de windows, entonces si éste contiene acentos o cualquier otros caracteres especiales, va a marcar error siempre de tipo PACLIENT!, entonces deberán crear un nuevo perfil de usuario con un nombre simple y sin caracteres especiales en donde instalar el rad studio pueden agregarlo con el comando win+r y tecleando "netplwiz" y seleccionar "agregar" cierran sesión en la cuenta actual y acceden a la nueva para instalar el rad studio(no se recomienda cambiar el nombre del perfil de usuario donde tienen su información y archivos o en su caso perderán todo como yo, debido a que windows les indicará un error de inicio de sesión) ...
-El JDK que debe tenerse instalado es jdk1. 8.0_60 (jdk-8u60 lo buscan en la página de orcale )
-El sdk es el mismo que contiene el iso(más las build tools y apis correspondientes igual pueden usar android 28, acceda a sdkmanager.exe y descargue lo que le haga falta)
-El ndk también es el que trae el iso.
-Deben tener una configuración de android para 32 bits y otra para 64 bits en Rad studio si o si, y a su vez el nivel de api de 64 bits debe ser el mismo que el de 32 bits, ya que de lo contrario el deploy marcará error.
-No se en qué influya pero si el rad studio 10.3.3 después de instalarse, les pide la instalación del sdk de windows, háganlo (por si las dudas)
-Recuerden que deben tener su keytool y hacer las configuraciones correspondientes para su aplicación...
-no olviden tampoco que en project>options>delphi compiler>compiling>other options, "Generate Android app bundle debe de ser " true" y que el target debe de estar en " all configuration Android 64-bit platform".

RECUERDEN... NOMBRE SIMPLE Y SIN CARACTERES ESPECIALES EN SU NOMBRE DE PERFIL DE USUARIO QUE CREEN EN WINDOWS....

Ah! Y un dato más, recuerden ejecutar el delphi como administrador siempre!!!...
Espero y les haya funcionando....

Neftali [Germán.Estévez]
30-12-2019, 15:59:11
Muchas gracias por la explicación.
^\||/^\||/^\||/^\||/^\||/

jhonalone
20-01-2020, 20:54:56
Hola. Compañeros de fatigas y amigos virtuales. Primero un saludo.
Tengo el mismo problema que dani36652.
He hecho infinitas pruebas. He seguido las instrucciones de dani36652 y no hay manera de generar un fichero "bundle" para subir al Play Store.
Mi nombre de usuario no tiene caracteres extraños.
"el target debe de estar en all configuration Android 64-bit platform". Supongo que se refiere al Projects/Options/Building/Delphi Compiler/Compiling/Target.

En Projects/Options/Deployment/Provisioning/Target no admite "All Configurations" pues, una vez que sales de Provisioning, lo salvas y vuelves a intentar entrar, la configuración de Build Type ha cambiado a Development

Prescindiendo de este detalle todas las compilaciones que hago, el Deploy me lanza los mismos errores. Copio algunos:

EL PRIMERO:

[PAClient Error] Error: E6408 Unable to execute '"C:\Program Files\Java\jdk1.7.0_71\bin\java.exe" -jar "c:\radstudio10.3.3\bin\android\bundletool-all-0.10.3.jar" build-bundle --modules="D:\MisCitas (Astem) 2 - final_2\Android64\Release\MisCitas\base.zip" --output="D:\MisCitas (Astem) 2 - final_2\Android64\Release\MisCitas\bin\MisCitas-unsigned.aab" --config="D:\MisCitas (Astem) 2 - final_2\Android64\Release\MisCitas\buildconfig.json"' (Error 1)

EL SEGUNDO:

[PAClient Error] Error: E6408 java.lang.UnsupportedClassVersionError: com/android/tools/build/bundletool/BundleToolMain : Unsupported major.minor version 52.0

EL TERCERO:

[PAClient Error] Error: E6408 at java.lang.ClassLoader.defineClass1(Native Method)

HAY OTROS MÁS DE ESTE ESTILO.......

.......

EL ÚLTIMO:

[PAClient Error] Error: E6408 Exception in thread "main"


Es curioso que tengo las dos versiones de JDK (jdk1.7.0_71 y jdk1.8.0_60) y en el primer error intenta leer jdk1.7.0_71 como puede verse.

Sin embargo el Keytool y el Jarsigner los tengo asignados al jdk1.8.0_60, el NDK es el que viene por defecto: Embarcadero\Studio\20.0 .... y el SDK es el 28.0.2.

No sé qué se me olvida....

¡Ah! se me olvidaba comentar: si no marco a TRUE "Generate Android app bundle" Compila perfecto, lo subo a Play Store y funciona la instalación en algunos dispositivos de 32 bits y no en otros.

Admito sugerencias.

Gracias anticipadas.

Saludos cordiales.

jhonalone
29-01-2020, 21:45:51
Bueno compañeros, aquí de nuevo.
¡¡Objetivo conseguido!!
Por si alguno tiene problemas con este asunto, puntualizo lo siguiente.
1.- Todo lo que dice dani36652 es cierto.
2.- El jdk1.8.0_60 debe estar instalado antes de instalar Delphi.
3.- No tengan otra versión que no sea jdk1.8.0_60 instalada, no sea que el instalador de Delphi la detecte y la incorpore a su deployment. (Ésto es lo que me pasó a mí), que tenía también instalado el jdk1.7.0_71 y lo tomaba por defecto al compilar. Tuve que instalar de nuevo Delphi después de borrar el jdk1.7.0_71.
4.- Hay un vídeo en youtube (https://www.youtube.com/watch?v=CvFLBv9F4RM) de un portugués que lo explica muy bien. Yo seguí sus instrucciones y todo salío perfecto.
5.- Como dice Dani hay que compilar primero en 32 y luego en 64 en Built Configurations (Release) y en ...32 y ...64/Configuration/Development.
6.- Luego borramos las carpetas ..../Android y ..../Android64 como dice el video de youtube
7.- Vamos a Project/Options/Building/Delphi Compiler/Compiling, selecionamos Target: All configuration Android 64-bit platform y marcamos la casilla Other Options/Generate Android App Bundle file (arm + arm64)
8.- Vamos a Project/Options/Deployment/Provisioning, seleccionamos otra vez Target: All configuration Android 64-bit platform y también en Build Type: Android 64 bit - Application Store
9.- Utilizamos para firmar la aplicación nuestro KeyStore o generamos uno, según cada cual.
10.- Salvamos los cambios y volvemos a Target Plataforms (Android64)/Android 64 bit y cambiamos la configuración a Application Store
11.- Finalmente pulsamos el triangulito famoso de Run Whitout Debugging
12.- Finalmente, si todo ha ido bien veremos un mensaje diciendo que el archivo NombreProyecto.aab está en la carpeta ..../Android64

Suerte a todos.

Un inciso: os habréis dado cuenta de dos cosas
Una. Que tengo una especial predilección por el color azul
Dos. Que soy excesivamente meticuloso.

Reconozco que ambas cosas son ciertas.
Cuando hago un programa me suelen decir: "Parece que lo haces para tontos" y yo les contesto: "los listos no necesitan tanto detalle, pero quiero que todos puedan usar el programa, independientemente de su capacidad intelectual"

Un saludo muy cordial para todos y mil perdones por el "rollazo". Espero que le sirva a alguien.

Casimiro Notevi
29-01-2020, 21:56:40
^\||/^\||/^\||/

Ñuño Martínez
31-01-2020, 22:11:37
||-|| Gracias.