LAMW [NoGUI] Chipset Changing Bug in Android Module Projects lazarus / 43-Android ---------------------------------------------------------------------- loaded · 2021-06-14 09:08 LAMW [NoGUI] A patch to fix the "libcontrols.so" naming issue instead of the Javaclass name that occurs in later Chipset changes in Android Module Projects. I struggled a lot because of this bug. I waited for it to be fixed, but jmpessoa is probably too busy, so I rolled up my sleeves. Let's put it here, maybe it will be useful to someone. lazandroidmodulewizard-master\ide_tools\androidprojoptions.pas Procedure whose file is located at line ~1305 Before ; Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procedure TLamwProjectOptions.TryChangeChipset();var  index: integer;begin  if cbChipset.Text <> '' then  begin    if cbChipset.Text <> FChipSetTarget then    begin       index:= cbChipset.ItemIndex;       case index of         0: begin  //ARMv6           if FileExists(FProjectPath + 'jni' + PathDelim + 'build-modes' +PathDelim+ 'build_armV6.txt') then           begin             LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename:=  '..'+PathDelim+'libs'+PathDelim+'armeabi'+PathDelim+'libcontrols';           LazarusIDE.ActiveProject.LazCompilerOptions.CustomOptions:= GetBuildMode('build_armV6.txt', 2);             LazarusIDE.ActiveProject.LazCompilerOptions.TargetCPU:= 'arm';           LazarusIDE.ActiveProject.LazCompilerOptions.Libraries:= GetBuildMode('build_armV6.txt', 0);           end;         end;       1: begin  //ARMv7a+Soft           if FileExists(FProjectPath + 'jni' + PathDelim + 'build-modes' +PathDelim+ 'build_armV7a.txt') then         begin             LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename:=  '..'+Pa thDelim+'libs'+PathDelim+'armeabi-v7a'+PathDelim+'libcontrols';           LazarusIDE.ActiveProject.LazCompilerOptions.CustomOptions:= GetBuildMode('build_armV7a.txt', 2);             LazarusIDE.ActiveProject.LazCompilerOptions.TargetCPU:= 'arm';           LazarusIDE.ActiveProject.LazCompilerOptions.Libraries:= GetBuildMode('build_armV7a.txt', 0);           end;         end;       2: begin //ARMv7a+VFPv3           if FileExists(FProjectPath + 'jni' + PathDelim + 'build-modes' +PathDelim+ 'build_armV7a_VFPv3.txt') then           begin             LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename:=  '..'+Pa thDelim+'libs'+PathDelim+'armeabi-v7a'+PathDelim+'libcontrols';           LazarusIDE.ActiveProject.LazCompilerOptions.CustomOptions:= GetBuildMode('build_armV7a_VFPv3.txt', 2);             LazarusIDE.ActiveProject.LazCompilerOptions.TargetCPU:= 'arm';           LazarusIDE.ActiveProject.LazCompilerOptions.Libraries:= GetBuildMode('build_armV7a_VFPv3.txt', 0);           end;         end;         3: begin //x86           if FileExists(FProjectPath + 'jni' + PathDelim + 'build-modes' +PathDelim+ 'build_x86.txt') then         begin             LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename:=  '..'+PathDelim+'libs'+PathDelim+'x86'+PathDelim+'libcontrols';           LazarusIDE.ActiveProject.LazCompilerOptions.CustomOptions:= GetBuildMode('build_x86.txt', 2);             LazarusIDE.ActiveProject.LazCompilerOptions.TargetCPU:= 'i386';           LazarusIDE.ActiveProject.LazCompilerOptions.Libraries:= GetBuildMode('build_x86.txt', 0);           end;         end;         4: begin //Mipsel           if FileExists(FProjectPath + 'jni' + PathDelim + 'build-modes' +PathDelim+ 'build_mipsel.txt') then         begin             LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename:=  '..'+PathDelim+'libs'+PathDelim+'mips'+PathDelim+'libcontrols';           LazarusIDE.ActiveProject.LazCompilerOptions.CustomOptions:= GetBuildMode('build_mipsel.txt', 2);             LazarusIDE.ActiveProject.LazCompilerOptions.TargetCPU:= 'mipsel';           LazarusIDE.ActiveProject.LazCompilerOptions.Libraries:= GetBuildMode('build_mipsel.txt', 0);           end         end;       5: begin //Aarch64    //build_arm64.txt           if FileExists(FProjectPath + 'jni' + PathDelim + 'build-modes' +PathDelim+ 'build_arm64.txt') then           begin             LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename:=  '..'+PathDelim+'libs'+PathDelim+'arm64-v8a'+PathDelim+'libcontrols';             LazarusIDE.ActiveProject.LazCompilerOptions.CustomOptions:= GetBuildMode('build_arm64.txt', 2);             LazarusIDE.ActiveProject.LazCompilerOptions.TargetCPU:= 'aarch64';           LazarusIDE.ActiveProject.LazCompilerOptions.Libraries:= GetBuildMode('build_arm64.txt', 0);           end;         end;       6: begin  //x86_64           if FileExists(FProjectPath + 'jni' + PathDelim + 'build-modes' +PathDelim+ 'build_x86_64.txt') then         begin             LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename:=  '..'+PathDelim+'libs'+PathDelim+'x86_64'+PathDelim+'libcontrols';           LazarusIDE.ActiveProject.LazCompilerOptions.CustomOptions:= GetBuildMode('build_x86_64.txt', 2);             LazarusIDE.ActiveProject.LazCompilerOptions.TargetCPU:= 'x86_64';           LazarusIDE.ActiveProject.LazCompilerOptions.Libraries:= GetBuildMode('build_x86_64.txt', 0);           end;         end;       end;    end;  end;end;    Post Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procedure TLamwProjectOptions.TryChangeChipset();var  index: integer;  cfname:TStringArray;begin  if cbChipset.Text <> '' then  begin    if cbChipset.Text <> FChipSetTarget then    begin       index:= cbChipset.ItemIndex;       cfname:=LazarusIDE.ActiveProject.LazCompile rOptions.TargetFilename.Split(PathDelim);       case index of         0: begin  //ARMv6           if FileExists(FProjectPath + 'jni' + PathDelim + 'build-modes' +PathDelim+ 'build_armV6.txt') then         begin             LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename:=  '..'+Pa thDelim+'libs'+PathDelim+'armeabi'+PathDelim+cfname[high(cfname)];           LazarusIDE.ActiveProject.LazCompilerOptions.CustomOptions:= GetBuildMode('build_armV6.txt', 2);             LazarusIDE.ActiveProject.LazCompilerOptions.TargetCPU:= 'arm';           LazarusIDE.ActiveProject.LazCompilerOptions.Libraries:= GetBuildMode('build_armV6.txt', 0);           end;         end;       1: begin  //ARMv7a+Soft           if FileExists(FProjectPath + 'jni' + PathDelim + 'build-modes' +PathDelim+ 'build_armV7a.txt') then         begin             LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename:=  '..'+Pa thDelim+'libs'+PathDelim+'armeabi- v7a'+PathDelim+cfname[high(cfname)];             LazarusIDE.ActiveProject.LazCompilerOptions.CustomOptions:= GetBuildMode('build_armV7a.txt', 2);             LazarusIDE.ActiveProject.LazCompilerOptions.TargetCPU:= 'arm';           LazarusIDE.ActiveProject.LazCompilerOptions.Libraries:= GetBuildMode('build_armV7a.txt', 0);           end;         end;       2: begin //ARMv7a+VFPv3           if FileExists(FProjectPath + 'jni' + PathDelim + 'build-modes' +PathDelim+ 'build_armV7a_VFPv3.txt') then           begin             LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename:=  '..'+Pa thDelim+'libs'+PathDelim+'armeabi- v7a'+PathDelim+cfname[high(cfname)];             LazarusIDE.ActiveProject.LazCompilerOptions.CustomOptions:= GetBuildMode('build_armV7a_VFPv3.txt', 2);             LazarusIDE.ActiveProject.LazCompilerOptions.TargetCPU:= 'arm';           LazarusIDE.ActiveProject.LazCompilerOptions.Libraries:= GetBuildMode('build_armV7a_VFPv3.txt', 0);           end;         end;         3: begin //x86           if FileExists(FProjectPath + 'jni' + PathDelim + 'build-modes' +PathDelim+ 'build_x86.txt') then         begin             LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename:=  '..'+Pa thDelim+'libs'+PathDelim+'x86'+PathDelim+cfname[high(cfname)];           LazarusIDE.ActiveProject.LazCompilerOptions.CustomOptions:= GetBuildMode('build_x86.txt', 2);             LazarusIDE.ActiveProject.LazCompilerOptions.TargetCPU:= 'i386';           LazarusIDE.ActiveProject.LazCompilerOptions.Libraries:= GetBuildMode('build_x86.txt', 0);           end;         end;         4: begin //Mipsel           if FileExists(FProjectPath + 'jni' + PathDelim + 'build-modes' +PathDelim+ 'build_mipsel.txt') then         begin             LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename:=  '..'+Pa thDelim+'libs'+PathDelim+'mips'+PathDelim+cfname[high(cfname)];           LazarusIDE.ActiveProject.LazCompilerOptions.CustomOptions:= GetBuildMode('build_mipsel.txt', 2);             LazarusIDE.ActiveProject.LazCompilerOptions.TargetCPU:= 'mipsel';           LazarusIDE.ActiveProject.LazCompilerOptions.Libraries:= GetBuildMode('build_mipsel.txt', 0);           end         end;       5: begin //Aarch64    //build_arm64.txt           if FileExists(FProjectPath + 'jni' + PathDelim + 'build-modes' +PathDelim+ 'build_arm64.txt') then           begin             LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename:=  '..'+Pa thDelim+'libs'+PathDelim+'arm64-v8a'+PathDelim+cfname[high(cfname)];           LazarusIDE.ActiveProject.LazCompilerOptions.CustomOptions:= GetBuildMode('build_arm64.txt', 2);             LazarusIDE.ActiveProject.LazCompilerOptions.TargetCPU:= 'aarch64';           LazarusIDE.ActiveProject.LazCompilerOptions.Libraries:= GetBuildMode('build_arm64.txt', 0);           end;         end;       6: begin  //x86_64           if FileExists(FProjectPath + 'jni' + PathDelim + 'build-modes' +PathDelim+ 'build_x86_64.txt') then         begin             LazarusIDE.ActiveProject.LazCompilerOptions.TargetFilename:=  '..'+Pa thDelim+'libs'+PathDelim+'x86_64'+PathDelim+cfname[high(cfname)];           LazarusIDE.ActiveProject.LazCompilerOptions.CustomOptions:= GetBuildMode('build_x86_64.txt', 2);             LazarusIDE.ActiveProject.LazCompilerOptions.TargetCPU:= 'x86_64';           LazarusIDE.ActiveProject.LazCompilerOptions.Libraries:= GetBuildMode('build_x86_64.txt', 0);           end;         end;       end;    end;  end;end; ---------------------------------------------------------------------- jmpessoa · 2021-06-14 16:25 Nice! I will commit your patch/fix! Thank you! [DONE !!]