"The deprecated <NDK>/platforms and <NDK>/sysroot directories have been removed. These directories were merged and relocated into the toolchain during r19. The location of these contents should not be relevant to anyone, including build systems, since the toolchain handles them implicitly. If you are using a build system that hasn't adapted to the changes introduced in NDK r19, file a bug with your build system maintainer. See the Build System Maintainers Guide (https://android.googlesource.com/platform/ndk/+/master/docs/BuildSystemMaintainers.md) for information on using the NDK in your own build system."
I have just tried to fix this issue. Please test.
Also fixed: LAMW will now build with Lazarus trunk.
I have just tried to fix this issue. Please test.
Also fixed: LAMW will now build with Lazarus trunk.
Why is the new project wizard missing levels 27, 28, 29, 30?
Please, change here and do some tests.... [Maybe in the past FPC didn't like that.....]
unit "uformworkspace.pas" line 244 [LAMW folder "........\android_wizard"]
if (intAux > 13) and (intAux < 27) then
1) Is the limit for the NDK api level needed anymore, or better to remove it and populate the list with every API found in the selected NDK?
2) How does one change the NDK API level for an existing project (like AppDemo1) ?
Done!!! Now LAMW can handle [transparently] NDK >= 22!
With latest LAMW changes the following minor issue still exists....
Around here I can't fix this error.....my LAMW installation works normally in Win64...
But when opening an existing LAMW project, there is no way to change the NDK API level so even though the Target SDK is set to 29, the API level 22 libraries are still being used...
But the $HOME/android/fpc-lazarus/cross/bin folder is required or it doesn't build:
lazaruspackageintf.pas(104,0) Error: Assembler arm-linux-androideabi-as not found, switching to external assembling
So it appears that it is not using the toolchain from the NDK and using the one that FPCUPdeluxe installed instead.
-FD/home/wsherman/android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin
-FD/home/wsherman/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin
Ok. I will do some tests replacing the oldQuote-FD/home/wsherman/android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin
by the new:Quote-FD/home/wsherman/android/sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin
I can't tell if it needs both paths or just the llvm/prebuilt one....
Just one .... the llvm is the new way to go....
The Android sysroot is installed to <NDK>/toolchains/llvm/prebuilt/<host-tag>/sysroot and contains the headers, libraries, and CRT object files for each Android target.
Libraries are found in the usr/lib/<triple> directory of the sysroot. Version-specific libraries are installed to usr/lib/<triple>/<API-level>. As with the header files, when using Clang it is not necessary to include these directories explicitly; the sysroot will be automatically selected. If using a compiler other than Clang, ensure that the version-specific library directory takes precedence over the version-generic directory.
Around here I can't fix this error.....my LAMW installation works normally in Win64...
Please, can you try some investigation in "uformsettingspaths.pas" [LAMW folder "ide_tools"]?
I think the code here should run in the OnShow event, not OnActivate:
QuoteI think the code here should run in the OnShow event, not OnActivate:
OK. I will fix LAMW!
Thank you!