秋·风

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
这几天在测试lazarus lamw,发现可以生成未签名的apk文件,当生成签名apk时也提示已生成签名apk文件,但没发现签名apk的文件。
经排查发现是gradle-local-apksigner.bat文件里使用的android SDK的版本号和实际的不一样。

QQ_1756343294918

QQ_1756183098409

打开android_wizard\androidwizard_intf.pas
function TAndroidProjectDescriptor.HasBuildTools(platform: integer;  out outBuildTool: string): boolean;
begin
  Result:= True;
  if  platform < 30 then
     outBuildTool:= '29.0.3'
  else
     outBuildTool:= '30.0.3';
end;

将30.0.3改为33.0.3,重新编译安装lazandroidwizardpack.lpk就可以。

function TAndroidProjectDescriptor.HasBuildTools(platform: integer;  out outBuildTool: string): boolean;
begin
  Result:= True;
  if  platform < 30 then
     outBuildTool:= '29.0.3'
  else
     outBuildTool:= '33.0.3';
end;

QQ_1756183228259

2、LAMW\ide_tools\amw_ide_menu_items.pas

        auxList.Clear;
        auxList.LoadFromFile(PathToAndroidProject + DirectorySeparator + 'gradle-local-apksigner.bat');
        { .bat
        set Path=%PATH%;C:\android\sdk\platform-tools;C:\android\sdk\build-tools\29.0.2
        set GRADLE_HOME=C:\android\gradle-6.6.1
        set PATH=%PATH%;%GRADLE_HOME%\bin
        zipalign -v -p 4 C:\android\workspace\AppLAMWProject10\build\outputs\apk\release\AppLAMWProject10-armeabi-v7a-release-unsigned.apk C:\android\workspace\AppLAMWProject10\build\outputs\apk\release\AppLAMWProject10-armeabi-v7a-release-unsigned-aligned.apk
        apksigner sign --ks C:\android\workspace\AppLAMWProject10\applamwproject10-release.keystore --ks-pass pass:123456 --key-pass pass:123456 --out C:\android\workspace\AppLAMWProject10\build\outputs\apk\release\AppLAMWProject10-release.apk C:\android\workspace\AppLAMWProject10\build\outputs\apk\release\AppLAMWProject10-armeabi-v7a-release-unsigned-aligned.apk
        }
        strTemp:='apksigner sign --ks '+ winPathToAndroidProject + '\' +
                 Lowercase(smallProjName) + '-release.keystore --ks-pass pass:' + ks_pass + ' --key-pass pass:' + key_pass + ' --out ' +
                 winPathToAndroidProject + '\build\outputs\apk\release\' +
                                        SmallProjName + '-release.apk '+
                 winPathToAndroidProject + '\build\outputs\apk\release\' +
                                        SmallProjName+'-' + instructionChip + '-release-unsigned-aligned.apk';

        auxList.Strings[4]:= strTemp;
        //auxList.SaveToFile(PathToAndroidProject + DirectorySeparator + 'gradle-local-apksigner.bat');//将这行注释

重新编译安装amw_ide_tools.lpk

posted on 2025-08-26 12:41  秋·风  阅读(70)  评论(0)    收藏  举报