Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

写了一个Android上用脚本和中文API编程的项目 #51

Closed
ghost opened this issue Dec 9, 2017 · 28 comments
Closed

写了一个Android上用脚本和中文API编程的项目 #51

ghost opened this issue Dec 9, 2017 · 28 comments
Labels
active 不一定活跃,但没有弃坑 调研
Milestone

Comments

@ghost
Copy link

ghost commented Dec 9, 2017

https://github.com/MikaGuraN/HL4A
--------- 2018/06/29 替作者更新 ---------
核心库, 无Android依赖: https://github.com/HL4A/hl4a-core
Android工具库: https://github.com/HL4A/hl4a-android

就是汉化了一些JAVA API......

@nobodxbodon
Copy link
Member

多谢分享! 很高兴看到大规模汉化API的实例. 看起来工作量很不小啊, 完成度也很高. 好奇请教一下项目由来?

@ghost
Copy link
Author

ghost commented Dec 9, 2017

@nobodxbodon 一开始想的是做一个在android上用js写app,结果变成了写工具类来着

@nobodxbodon
Copy link
Member

请问有示例或者简单的使用说明吗? 一直没怎么关注Android开发, 一时不知如何上手.

@ghost
Copy link
Author

ghost commented Dec 9, 2017

@nobodxbodon 示例啊,看APK/script/index.js
这个是默认的界面,刚更新了一下

@nobodxbodon
Copy link
Member

APK/script/index.js 是指https://github.com/MikaGuraN/HL4A/blob/master/HL4A/src/main/java/script/index.js 吧? 包含了这个帮助文件
才意识到这是真的"在Android上"写app. 感觉蛮独特. 之前看到过一些在手机上做某个编程语言的IDE的, 但第一次看到在手机环境里做app开发. 请教一下相比在pc上做开发, 有些什么优势呢? 这个库能否在pc上使用?

@ghost
Copy link
Author

ghost commented Dec 10, 2017

@nobodxbodon 不。没有什么优势,根本比不上什么eclipse,android studio,只是因为我没有电脑罢了。。。
有些可以吧。但是JVM和dalvik在动态加载的地方不一样,dalvik需要加载dex,总之很多需要改。不过我没有电脑蛤蛤,手机上都是AIDE在写代码

@ghost
Copy link
Author

ghost commented Dec 10, 2017

@nobodxbodon 不过比起电脑开发的确也有一点好处吧,现在已经更新了基本所有视图,准备写一个IDE,然后搞AAPT打包,我是故意不用任何xml布局的,所以打包只用aapt和signer就可以了

@nobodxbodon
Copy link
Member

@MikaGuraN 多谢, 才了解Dalvik/JVM的区别. 手机上编写代码好像是个趋势, 毕竟现在手机屏够大, 性能也够.

我是故意不用任何xml布局的,所以打包只用aapt和signer就可以了

刚想到, 是不是还有个优势, 就是开发时不用模拟器运行或者下载到手机运行的一步, 就可以直接在手机上运行看效果? 另外, 调试上是否也会更方便(记得当时开adb什么的有不少小麻烦)?

@nobodxbodon
Copy link
Member

另外, 请问有没有一个'hello world'式的入门文档? 如果没有, 不介意的话, 自愿写一篇介绍文(类似这个). 当然, 以在下的Android开发水平估计写出来会很业余就是了 :)

@ghost
Copy link
Author

ghost commented Dec 10, 2017

@nobodxbodon 好处也有,就是不用打包就能运行。用法的话,以后ide写好了会像aide一个一个教程加的,就是缺中文API的文档(类名.方法名,传入参数说明,返回值说明
,如果你不嫌麻烦的话 可以帮个忙哦 23333

@ghost
Copy link
Author

ghost commented Dec 10, 2017

@nobodxbodon 调试也挺方便了,错误日志会自动保存,特别详细呢(js最详细

@nobodxbodon
Copy link
Member

API文档感觉可以慢慢补, 毕竟有中文命名的优势, 会一目了然一些. 刚意识到"乐园之土.apk"是个演示app, 之前误以为是个IDE. 在IDE成型之前, 请问有方法可以编写app吗?
另外, 请问这个项目和https://github.com/damonkohler/sl4a 有关系吗?

@ghost
Copy link
Author

ghost commented Dec 10, 2017

@nobodxbodon 成型之前,只要修改script/index.js这个入口文件,然后编译就可以了。
和sl4a是没有关系的,js是rhino的js,lua是androlua-pro的lua,java是BeanShell的脚本

@ghost
Copy link
Author

ghost commented Dec 10, 2017

@nobodxbodon 当前界面.跳转界面("#index.js") 就是跳转到主页,同理的,可以在script/下加其他文件

@ghost
Copy link
Author

ghost commented Dec 10, 2017

@nobodxbodon 现在做了一个简单IDE和一个HelloWorld啦!

@nobodxbodon
Copy link
Member

赞!神速啊
已经提交了吗?回头尝试下

@nobodxbodon
Copy link
Member

下载了1.4.0版apk, 打开后复制了https://github.com/MikaGuraN/HL4A/blob/master/HL4A/src/main/assets/example.js 的内容黏贴到编辑器中, 选择"运行代码", 但没响应了. 然后系统报"乐园之土 isn't responding", wait两次也没反应.

系统是Android 7.0. LG stylo2.

@ghost
Copy link
Author

ghost commented Dec 11, 2017

@nobodxbodon 抱歉,我这里是4.4破手机,没有报错,请问有没有错误日志?在/sdcard/Android/data/h.android/错误日志 ?

@ghost
Copy link
Author

ghost commented Dec 11, 2017

@nobodxbodon 现在完善了一下IDE。顺便说一下建议QQ私聊,github这里不是经常看,

@nobodxbodon
Copy link
Member

之前写了1.4.9版的试用经过, 暂时未在专栏发表. 如果各位组员对其有兴趣可以自行尝试.

@nobodxbodon
Copy link
Member

nobodxbodon commented Feb 10, 2018

据了解, 最新版本有了不少改进和重构. 功能上, 可以做到从JS源码编译生成可安装的apk文件:
ide screenshot_2018-02-10-12-49-55

以有限理解, 看到源码中比较显眼的部分如下:

  1. Java常用基础库的中文封装
  2. Android常用接口的中文封装
  3. JavaScript解释器的汉化(关键词部分, 比如function->函数, var->变量)
  4. 编辑器, 逐渐添加IDE功能, 如语法高亮等. 3和4也许不那么互相独立, 因为是基于SimpleJS开发.

个人打算从第一部分开始写文档和测试, 不仅因为这个项目中的所有其他源码都依赖它, 而且感觉在接口相对稳定之后, 比较理想的也许是将这个部分作一个独立项目, 因为它可以用于所有Java项目. @farteryhr @jeffreybaoshenlee 这里也牵涉到与#54 类似的用词选择. 但由于它并不是对JDK标准库完全一对一的汉化, 因此自由度更大一些.

关于编译器汉化/IDE开发部分, @cleverdango @lightrabbit @swizl @htwx 有空探讨一下? 因为这是在手机平台上的IDE, 还有其特殊性, 也是以前没有讨论过的.

@nobodxbodon
Copy link
Member

更新顶楼链接. 期待作者的一些进展介绍.

@ghost
Copy link
Author

ghost commented Jul 1, 2018

@nobodxbodon 这两天停更一下,等买的笔记本送到准备用java8重构一下。╮(‵▽′)╭

@ghost
Copy link
Author

ghost commented Jul 1, 2018

@nobodxbodon 关于SimpleJS 他是使用j2v8做脚本的,虽然快,但是调用java很不方便。我是把他的编辑器加入了Lua作者的高亮逻辑改的。

@nobodxbodon
Copy link
Member

等买的笔记本送到准备用java8重构一下。╮(‵▽′)╭

@MikaGuraN 恭喜! 到时候说一下开发环境吧, 一致之后也方便团队开发. 还是想为核心库做点事情, 有可能的话.

@nobodxbodon
Copy link
Member

新项目kio仍在寻找在Android上开发的最佳方案: https://github.com/MikaGuraNTK/kio-project/issues/2

@4b5ent1 4b5ent1 removed the 中文化 label Nov 22, 2018
@4b5ent1 4b5ent1 added this to the 2018戊戌 milestone Nov 30, 2018
@4b5ent1 4b5ent1 added the active 不一定活跃,但没有弃坑 label Dec 8, 2018
@nobodxbodon nobodxbodon mentioned this issue Jan 28, 2019
61 tasks
@ghost ghost closed this as completed Aug 26, 2019
@nobodxbodon
Copy link
Member

后继有人。结绳安卓开发工具:
Screen Shot 2020-08-22 at 12 49 42 AM

@nobodxbodon nobodxbodon reopened this Aug 22, 2020
@nobodxbodon
Copy link
Member

结绳 项目顺利!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
active 不一定活跃,但没有弃坑 调研
Projects
None yet
Development

No branches or pull requests

2 participants