请选择 进入手机版 | 继续访问电脑版

Lazarus中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

学习了delphicn大大的laz4android环境有感。。

[复制链接]

该用户从未签到

发表于 2014-4-12 17:06:00 | 显示全部楼层 |阅读模式
      首选,非常感谢delphicn的无私奉献为大家制作了laz4android 1.1绿色版,让低阶无比的楼主有了实验环境,话说楼主自己下载lazarus从头开始配置,那个例子就是编译不过去,头都大了。。

     用delphicn的绿色版 可以顺利把例子编译成.so文档了,      然后generate_debug_key和build_debug_apk各种改,如果在用高于jdk1.6的同学要注意了,你要修改build_debug_apk脚本里面的javac 那行指令,要强行把编译版本指定为1.6才能编译出有效的class,也就是要在javac 后面加上 -source 1.6 -target 1.6


       生产的apk,只有两部分代码,一部分是引导class,另一部分是App主体,也就是那个.so库文件。经过短暂的测试,有以下感受:

      1、可喜的是,虽然是apk,虽然运行在android平台,但由于是原生的机器代码执行,效率是常规apk的Dalvik不能比拟的。例如,
           一张800X500约1.12M左右的BMP,提取特征码,在某牌子的平板上,用常规的android代码Dalvik虚拟机运行,将近两秒,代码移植到fpc然后编译成.so再用同样的平板运行,250毫秒,快了近10倍。而同一张图片,在win7下用intel的cpu跑,耗时仅1-3毫秒,几乎忽略不计(由此可见,现在的移动CPU吹多少核,多少G速度都是扯淡,随便一个桌面CPU就可以把你秒个无影)

      2、所有apk相关的用户权限均对.so库文件不生效,不知道是好事还是坏事?

      3、但悲剧的是,随之而来的问题一大堆,例如UI,丑到爆的UI,没有之一,只有最丑。而且lazarus很多控件,虽然编译时能通过,但去到平板上跑是看不到的。又比如,很多控件的属性行为去到平板那里是不通的,例如,为checkbox.caption赋个新的字符串,UI上根本不会更新,用对话框显示checkbox.caption,其值依然是旧的值等等,给我的感觉是,lazarus的控件去到平板上就是各种陷阱:没有错误提示,但很多时候达不到预期目的。



      我也是仅仅改了下原example的代码测试而已,而自己开一个新的project却编译出错,具体个中缘由还在找。

      总结:毕竟lazarus对支持android还处于初阶阶段, 假以时日应该必成大器(起码不需要我们自己构建编译环境吧,又不是个个都是delphicn对不对?),但至于能否整个app均由lazarus完成,我觉得有点悬, UI弱爆,跟ADT原配制作出来的UI根本不是一个等级。    至于后面的版本,个人不期望lazarus能写完整的android app,只希望她能在android NDK 方面兼容性好些,能提供跟android设备来个remote debug就非常牛逼了。。。

      至此向每个在此领域无私奉献的大神,包括lazarus/fpc的作者,delphicn,猫工等表示衷心感谢,没有你们就没有lazarus的今天。




回复

使用道具 举报

该用户从未签到

发表于 2014-4-12 18:25:02 | 显示全部楼层
UI使用原生的,用LAZARUS编写逻辑,应该如何做呢?
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主 发表于 2014-4-12 19:40:15 | 显示全部楼层
heroical 发表于 2014-4-12 18:25
UI使用原生的,用LAZARUS编写逻辑,应该如何做呢?

我觉得就应该按这个方向做
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主 发表于 2014-4-12 22:35:27 | 显示全部楼层
heroical 发表于 2014-4-12 18:25
UI使用原生的,用LAZARUS编写逻辑,应该如何做呢?

衡量开发成本、产品效果,建议大部分交给java去完成大部分,涉及到场景、频繁复杂的算法交给这些机器码来跑划算点。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2014-4-15 10:53:03 | 显示全部楼层
前辈,有没有完整的绿色版提供下载,我有想法……
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主 发表于 2014-4-15 14:37:56 | 显示全部楼层
cjcjc 发表于 2014-4-15 10:53
前辈,有没有完整的绿色版提供下载,我有想法……

帖子搜索 laz4android 1.1绿色版
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2014-6-9 19:08:54 | 显示全部楼层
最新版本V1.3 出来了,安装成功了哦!

点评

集成了Android的编译环境??  发表于 2014-6-25 17:11
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2014-7-15 10:58:20 | 显示全部楼层
同感~这是 for Android 的RAD系统的盲区,Delphi XEx也有类似的问题~
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2014-9-5 10:54:36 | 显示全部楼层
UI使用原生的,用LAZARUS编写逻辑,应该如何做呢?
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2014-9-5 16:05:30 | 显示全部楼层
kwer 发表于 2014-9-5 10:54
UI使用原生的,用LAZARUS编写逻辑,应该如何做呢?

Lazarus的強大在於同一支程式碼,跨平台的共用性高,而且編成的是機械碼,因此適合做核心計算(高執行效率,而且反編譯難度高);實作上往往是製作成函式庫(*.dll, *.so, *.dylib)供他人調用。

UI只是一層給人看的"皮",只要做到能夠正確調用函式庫並接收回傳值,剩下的不用再多做處理,介面專心做好介面就好了......

有興趣的請在板上搜尋TigerA15的教學文章(我也有寫過,不過比起來簡陋多了,所以還是推薦T大的版本),裡面有如何讓java調用函式庫的範例,看懂就明白了。
回复 支持 反对

使用道具 举报

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

GMT+8, 2020-7-12 15:00 , Processed in 0.060413 second(s), 28 queries .

Powered by Discuz! F1.0 Build 20160930

© 2001-2020 Comsenz Inc. & Discuz! Fans

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