Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

Lazarus IDE and 组件 下载地址版权申明
查看: 5386|回复: 4

Laz4android v1.3 最新 2014原创教程

[复制链接]

该用户从未签到

发表于 2014-6-9 19:02:29 | 显示全部楼层 |阅读模式
本帖最后由 lissdd 于 2014-6-9 19:17 编辑

2014.06.09  by lissdd 如花.四川大学.电子信息学院

一、准备Java环境
   1.下载并安装   Java-F7U60-i586.exe   约127Mb
  2.下载NDKandroid-ndk-r9d-windows-x86.zip     约468Mb    解压后备用
   3. 下载SDK:    adt-bundle-windows-x86-20140321.zip  约 510Mb  解压后备用
   用四川大学的校园网,要下很久哦
二、安装 Laz4android
  下载laz4android1.3-43585-FPC2.7.1-New.7z 约58Mb,解压。
1、编译laz
解压得到目录laz4android, 进入编辑文件 built.bat
修改其中 :
        SET FPC_BIN_PATH=D:\dev\delphi\lazarus\laz4android为你自己正确的目录
保存后运行build.bat,约3分钟后编译完成 (你们的机器一定比我快)
2、运行laz
  运行startlazarus.exe, 首次运行会有一个提示对话,不管,直接”start IDE
打开\examples\androidlcl\androidlcltest.lpr工程文件
3、配置工程
菜单”Project”->”Project Option..”打开工程配置
file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_image002.jpgfile:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_image002.jpg

点击“Librariyes” 路径设置如图一

找到第二步已经解压好的NDK目录,点击“Delete Invalid Paths”删除无效路径,
加入新路径(就是刚才你下载解压的NDK路径哦),我的是:
android-ndk-r9d\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.6
android-ndk-r9d\platforms\android-8\arch-arm\usr\lib
如图二红线圈出部分

图二、设置NDK路径
该新路径根据个人NDK版本选择有所变化
设置目标平台左下角的Config and Target 右边一定要把Target OS (默认为Linux,害我2个小时),拉选为“android”如图三红线圈出部分,否则编译时会得到如下错误:
“Fatal: cannot find unit system used by fcllaz of packageFCL"


图三、选择目标平台

4、 编译例子
“OK”确定配置后, 就可以shift + F9 等待不到一分钟后,就可以在目录:
\examples\androidlcl\android\libs\armeabi下发现编译成的liblclapp 文件,但不知为何没有扩展名, 加上.so吧,阿门!



5、 制作APK包

(1)生成Key:
修改\examples\androidlcl\android\generate_debug_key.bat 中的路径为本地正确路径
我的为:
SETPATH=D:\dev\delphi\lazarus\adt-bundle-windows-x86-20140321\sdk\tools\;D:\dev\delphi\lazarus\adt-bundle-windows-x86-20140321\sdk\platform-tools\;C:\ProgramFiles\Java\jdk1.7.0_60\bin\
SET APP_NAME=androidlcltest
SETANDROID_HOME=D:\dev\delphi\lazarus\adt-bundle-windows-x86-20140321\sdk
SETAPK_SDK_PLATFORM=D:\dev\delphi\lazarus\adt-bundle-windows-x86-20140321\sdk\platforms\android-19
SET APK_PROJECT_PATH=D:\dev\delphi\lazarus\laz4android\examples\androidlcl\android
运行时要求输入密码,记住,下次要用的

运行生成 \bin\LCLDebugKey.keystore文件


(2)、打包生成APK
用批处理文件\examples\androidlcl\android\build_debug_apk.bat ,但它调用了apkbuilder.bat 和dx.bat会引起版本不同找不到apkbuilder.jar等问题,故改用网友truetom 提供的build_debug_apk.bat,他用鸟语说该文件:
In this batch file, asyou saw , my batch file is not called apkbuilder.bat and dx.bat.
So it can used to any version of Andrid SDK
即:无版本问题,适用各种版本的SDK哦!
再次感谢鸟语鸟人网友truetom在论坛
其中有一行:
jarsigner-verbose -keystore bin\LCLDebugKey.keystore -keypass 123456 -storepass 123456 -signedjar bin\%APP_NAME%-unaligned.apkbin\%APP_NAME%-unsigned.apk LCLDebugKey
蓝色的123456 即刚才生成Key时第(1)步generate_debug_key.bat运行时要求你输入的密码,修改到一致。
运行时可能遇到找不到dx.jar的错误:

这是版本不同路径不同造成的,比如我的在
sdk\build-tools\android-4.4.2\lib\dx.jar
把lib\dx.jar一起复制到错误提示要求的目录sdk\platform-tools\下即可。
运行大功告成后是这样的:

examples\androidlcl\android\bin路径下androidlcltest.apk赫然在目,哦,god, 这就是我们要的宝贝。1.5Mb, 如果只有21kb就是编译文件liblclapp忘了加.so,copy到手机安装吧!


(3) 上传到手机安装
上传到手机安装时,总是提示“程序未安装”错误,开始以为是版本问题,换从4.4换回2.2还是不行, 网上找了半天,说可能是未签名问题。
下载一个叫 DodoApkSign 的软件

选择examples\androidlcl\android\bin下androidlcltest-unsigned.apk然后“制作签名”, 生成的新apk文件就是最终版本了!
上传到手机,一切OK!
后记:
免费软件最大的问题就是什么都得靠摸索,沿途遇到很多问题,哪怕是一个小小的版本问题都会困扰我们很久,鄙人不才,制作这个教程花了两个周末才完成。
希望各位网友多写文章出来共享!如花写于四川大学2014.06.09












本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册(注册审核可向QQ群索取)

x

评分

参与人数 1金钱 +5 贡献值 +3 好评度 +3 收起 理由
辣炸肉丝 + 5 + 3 + 3 赞一个!

查看全部评分

回复

使用道具 举报

该用户从未签到

发表于 2014-6-30 09:44:18 | 显示全部楼层
求个整合包。有些东西,半天没有找到下载地址。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2014-8-6 15:11:46 | 显示全部楼层
Good job!
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2014-8-12 20:42:34 | 显示全部楼层
写得很详细
多谢辛苦制作分享~
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2015-7-12 13:13:32 | 显示全部楼层
强烈支持
回复 支持 反对

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2025-5-2 10:26 , Processed in 0.042156 second(s), 11 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表