Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-other / 2025-01

please help Me to find android package building system for android apps created by using ppcjvm

9 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Mgr. Janusz Chmiel

Dear elite developers,
PPCJVM is capable to build Pascal app by creating .class files by also using Jasmin, Java assembler.
But The newest Android 34 or 35 APIS are causing issues. If user create Android 33 target app by using Android.jar from Android 33, The old building techniques based on Apache Ant and Java 6 or 8 are causing issues with Android.
For example.
The following Intent session of Androidmanifest.xml is no more compatible with Android 13 if The developer uses Android 33 target and if developer specifies this target Android version number on Androidmanifest.xml.
Overcoming this problem is not possible. If developer specify lover number as Android target version in androidmanifest.xml app install but it is not possible to find The app in The apps list by using launcher. The following manifest is causing problems.

        <intent-filter>
            <action android:name    ="android.intent.action.MAIN" />             <category android:name ="android.intent.category.LAUNCHER" />         </intent-filter>
I have got error, that intent must be explicitly specified if I Am using Android 33 target. But how to edit this manifest session to pass The requirements of new Android?

So please.
Does somebody of us know about build system, which will tolerate my loving and needed PPCJVM and Android compiled app so I will be able to use even most up to date Android targets?

Pandroid do not work if I use Android newer than 34. Very probably, because Android.jar bundle allow no more special command line option which is needed by Pandroid.
Pandroid for Windows uses The following routine to prepare needed files after starting ppcjvm compiler.

I Am afraid, that The following older approach based on The Clipse will work no more.

https://macpgmr.github.io/pba/PbaStatus.html
I also do not think, that there is easy procedure how to recode TheApache ANT to support newest Android Target APIS. Please.
MR Bart, Mr Jonas, The most elite Pascal programmers in this forum. Does somebody of us know about The solution???
Or I must sadly accept The sad fact, that The latest Android target for PPCJVm Android development is really The Android 25 or 30 for example?

I do not have issues to use AndroidR25 and newest Android 34 target, because I will never publish my apps on Play store, I will never communicate with Google play monetisation services, ETC. I will only use Android R25 support GUI elements and Exoplayer or Android Media player, or bass.so library.
Any professional advice is very welcomed.

Reply by email

Mgr. Janusz Chmiel
to Mgr. Janusz Chmiel

I Am very sorry.
I must add two important information which I haveš forgotten to write in my previous E-mail.
Long command line options which Pandroid for Windows uses while calling android.jar

C:\pandroid\sdk\build-tools\23.0.3\aapt.exe package -m -J C:\TESTOVI\rozhlas16\android\gen -M
C:\TESTOVI\rozhlas16\android\AndroidManifest.xml -S C:\TESTOVI\rozhlas16\android\res -I
C:\pandroid\sdk\platforms\android-25\android.jar -S C:\TESTOVI\rozhlas16\android\res -m -J C:\TESTOVI\rozhlas16\android\gen

And I Am very sorry.
Android 33 is The last supported android Target, Android 34 do not work. So does somebody of us think, that there is some chance to use PPCJVM Android compiled apps for Android on future modern Android versions? Or unfortunately no, because Gradle will not support to do that. I Am sad, because Apache Ant is so fast.
I can build short apps for 6 Seconds.

Reply by email

Mgr. Janusz Chmiel
to Jean SUZINEAU

Dear MR SUZINEAU,
    I think, that if some big company would allow The artificial inteligence to generate Pascal android header files by solving complex problems with classes manipulation, it would be The solution. Yes, I have tried also Lamw several days ago. My problem is, that thanks to may be Lazarus changes or thanks to Lamw changes I can not automatically move GUI components by using component lazarus Window. I can choose The Lamw GUI specific component but when I press The Enter on it, Lamw display error that component can not be moved. By other words. Lamw creators assumes, that sighted programmer will use The mouse and he will drag The component manually.
Some older version has allowed Me to move The GUi components by pressing CTRL+ALT+p letter by choosing it.
But it is not true for now, unfortunately.

But really, new projects can be perfectly build by using Lamw and Gradle, thus it require much more time than while using Ant, but it is sad reality.

Reply by email

Mgr. Janusz Chmiel
to Jean SUZINEAU: I'm not sure but in my case a few months ago , Gemini,  the Google IA integrated in…

I have been really done my best to replace FPCJM and Pandroid by LAMW. But unfortunately, I can not always move The component by using The component dialog window build in to Lazarus.
When I create new Lamv project when I do not want to modify or compile one of The previously created project by using older LAMW versions, I can build .apk packages without is also, that If I want to make my GUI so it would be usable by a sighted person, I must manually add special series of lines to The unit1.pas source file, so my work is double.
More over, The cthreads unit causes crash when i have loaded libbas.so library. Older version of Lamv worked as it should, The newest one causes AN crash.
So in short, FPCJVM and Pandroid is still my preferred approach to make Pascal fully functional application with no need to make double work. But I Am really helpless to generate Android 33 or Android34.inc and .pas files.
What did i do to success?

I have copyed libraryes from The JRE from The same Java version which is The part of Pandroid package for Windows to The same folder, where android.jar resides.
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) Client VM (build 24.79-b02, mixed mode)

I have setup Path environment variable for user and also for system so it has pointed to The Bin directory with JRE, not with JDK. But I Am getting The following error for now.

ERROR:Could not find com/touchgraph/graphlayout/GLPanel  I have tried to generate Android 33 .pas and .inc header files. I have used The javapp.jar which is The part of
laz4android3.4

If someone would have some spare time, I Am ready to learn to generate Pascal herader files if someone would have A good will to learn Me this complex task.

I have even found special Delphi commercial tool which is capable to generate JNI based Android API functions units. Unfortunately, Delphi want much Euros to use their generated header files, because it is necessary to call their special .pu unit which is very probably also commercial so it will never work free of charge.

FPCJVM and Pandroid allow users to use layouts with no need to specify every GUI element coordinates.
More over. Apache Ant is much more faster than Gradle. I really want to generate header files myselves. The other problem with resources to allow Android 34 to work with pandroid is next complex task. But I must go step by step and slowly.
Thank you for your tips on professional articles or thank you for someone, who would try to learn Me to generate .pas and .inc header files.

Reply by email

Tomas Hajny
to Mgr. Janusz Chmiel

Dear Janusz,

I'm not sure that your messages reached the right people. :-( First of all, they were all marked as "SPAM" in the Subject field (for some reason unclear to me), which might result in having them moved in the SPAM folder automatically in some cases. Second, I believe that messages directly related to programming in Pascal with FPC may be better suited to the fpc-pascal list and might find better/wider audience there. Unfortunately, I cannot help with your particular questions, because I have no experience with programming for Android.

Hope this helps

Tomas

Earlier message 63 lines
-------- Original Message -------- Subject: Re: [fpc-other] *** SPAM *** please help Me to find android package building system for android apps created by using ppcjvm Date: 2025-02-02 14:08 From: "Mgr. Janusz Chmiel via fpc-other" To: Jean SUZINEAU via fpc-other Copy: "Mgr. Janusz Chmiel" Reply-To: Other FPC related discussions I have been really done my best to replace FPCJM and Pandroid by LAMW. But unfortunately, I can not always move The component by using The component dialog window build in to Lazarus. When I create new Lamv project when I do not want to modify or compile one of The previously created project by using older LAMW versions, I can build .apk packages without is also, that If I want to make my GUI so it would be usable by a sighted person, I must manually add special series of lines to The unit1.pas source file, so my work is double. More over, The cthreads unit causes crash when i have loaded libbas.so library. Older version of Lamv worked as it should, The newest one causes AN crash. So in short, FPCJVM and Pandroid is still my preferred approach to make Pascal fully functional application with no need to make double work. But I Am really helpless to generate Android 33 or Android34.inc and .pas files. What did i do to success? I have copyed libraryes from The JRE from The same Java version which is The part of Pandroid package for Windows to The same folder, where android.jar resides. java version "1.7.0_79" Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) Client VM (build 24.79-b02, mixed mode) I have setup Path environment variable for user and also for system so it has pointed to The Bin directory with JRE, not with JDK. But I Am getting The following error for now. ERROR:Could not find com/touchgraph/graphlayout/GLPanel  I have tried to generate Android 33 .pas and .inc header files. I have used The javapp.jar which is The part of laz4android3.4 If someone would have some spare time, I Am ready to learn to generate Pascal herader files if someone would have A good will to learn Me this complex task. I have even found special Delphi commercial tool which is capable to generate JNI based Android API functions units. Unfortunately, Delphi want much Euros to use their generated header files, because it is necessary to call their special .pu unit which is very probably also commercial so it will never work free of charge. FPCJVM and Pandroid allow users to use layouts with no need to specify every GUI element coordinates. More over. Apache Ant is much more faster than Gradle. I really want to generate header files myselves. The other problem with resources to allow Android 34 to work with pandroid is next complex task. But I must go step by step and slowly. Thank you for your tips on professional articles or thank you for someone, who would try to learn Me to generate .pas and .inc header files.

Reply by email

Jean SUZINEAU
to Tomas Hajny

I think it's my fault.

When i replied, I did'nt saw that my email provider added ***SPAM*** in the subject, i think it polluted all the subsequent remplies

Le 03/02/2025 à 11:32, Tomas Hajny via fpc-other a écrit :

they were all marked as "SPAM" in the Subject field (for some reason unclear to me)

Reply by email

Jean SUZINEAU
to Tomas Hajny: I'm not sure that your messages reached the right people. :-( First of all, they were all…

I think it's my fault.

When i replied, I did'nt saw that my email provider added ***SPAM*** in the subject, i think it polluted all the subsequent remplies.

I have to manually remove *** SPAM *** in the subject for some messages on the freepascal lists

Le 03/02/2025 à 11:32, Tomas Hajny via fpc-other a écrit :

they were all marked as "SPAM" in the Subject field (for some reason unclear to me)

Reply by email