Giter Club home page Giter Club logo

mayloon-runtime's Introduction

MayLoon is a developer tool which assists Android developer to migrate their Android application to HTML5 platforms quicker.

It contains two parts:

  1. mayloon-porting-tool, which is distributed as an Eclipse plugin and serves as the interface for the developers.
  2. mayloon-runtime, which basically simulates many Android framework capabilities on top of HTML5 platforms and needs to be loaded with the converted Android app before launching.

Please checkout the wiki pages for user guide and the design rationles about how we make the conversion possible.

Please submit your bug reports via the GitHub issues

mayloon-runtime

This is the source code of the mayloon runtime. The code for the plugin is hosted in another repo (mayloon-porting-tool)

getting-started

Please follow the instructions available here

License

MayLoon runtime is released under Apache License, Version 2.0

mayloon-runtime's People

Contributors

qzhang8 avatar xsun12 avatar rainy7 avatar

Stargazers

Jason Todd avatar  avatar  avatar  avatar lixiaohang avatar

Watchers

James Cloos avatar  avatar  avatar Amy Leeland avatar lixiaohang avatar  avatar Brian Phipps avatar  avatar

mayloon-runtime's Issues

Native method of android.os.Parcel.openFileDescriptor() is not implemented

BUG DETAILED DESCRIPTIONS
===========================================================
Native method "android.os.Parcel.openFileDescriptor()" is not implemented

EXACT STEPS LEADING TO PROBLEM:
(Explain in detail what you do (e.g. tap on OK) and what you see (e.g.

message
Connection Failed appears))
===========================================================
1.
2.
3.
4.
5.

EXPECTED OUTCOME:
===================
There is no error when obtainDescriptor()called by

testDecodeFileDescriptor1 and testDecodeFileDescriptor2
ACTUAL OUTCOME:
===================
There is a error of having no method "getMessage()" when obtainDescriptor()
called by testDecodeFileDescriptor1 and testDecodeFileDescriptor2

Cannot catch exception when declaring a static object and the object a exception

说明起来有些复杂,请下载了附件,并按下面的步骤复现

EXACT STEPS LEADING TO PROBLEM:
(Explain in detail what you do (e.g. tap on OK) and what you see (e.g.

message
Connection Failed appears))
===========================================================
1.下载本bug 的包含3个java文件的zip
2.在有j2s的eclipse中创建一个java projcet
3.使porjcet的java2Script compiler is enabled
4.把unzip的3个java文件放到创建的包下
5.Run project as java application(Main函数在ClassTest.java中)
6.Console的结果是可以捕捉到异常
7.Run as java2Script application, 并在chrome中打开
8.Console显示uncatch 的 exception

Sometimes mayloon cannot launch normally in web mode

BUG DETAILED DESCRIPTIONS
===========================================================
When launching mayloon in web mode, sometimes it cannot launch normally,
the attached files are 2 abnormal log

EXACT STEPS LEADING TO PROBLEM:
(Explain in detail what you do (e.g. tap on OK) and what you see (e.g.

message
Connection Failed appears))
===========================================================
1.
2.
3.
4.
5.

EXPECTED OUTCOME:
===================

ACTUAL OUTCOME:
===================

USER IMPACT:
===================

REPRODUCIBILITY:
(always, less than 1/10, 5/10, 9/10)
=====================================

EXTRA SOFTWARE INSTALLED:
============================

OTHER COMMENTS:
===================

[reply] [-] Comment 1 Wu, Qiujiao 2013-04-02 09:43:44 CST
Created attachment 247 [details]
mayloon launch fail
[reply] [-] Comment 2 Wu, Qiujiao 2013-04-02 09:44:10 CST
Created attachment 248 [details]
mayloon launch fail
[reply] [-] Comment 3 Wu, Qiujiao 2013-04-02 10:50:48 CST
It happens when code comes to following line in java.io.Streams:

c$.skipBuffer=c$.prototype.skipBuffer=new
java.util.concurrent.atomic.AtomicReference();
[reply] [-] Comment 4 Chenyong Zhao 2013-04-02 11:30:26 CST
Yes ,porting tool has no the package of java.util.concurrent, so there there is
no method AtomicReference()
[reply] [-] Comment 5 Wu, Qiujiao 2013-04-02 13:55:45 CST
We comment this line as a workaround, let's watch the following nightly test
whether this bug will still happen with this modification

"Views.Lists.Transcript" 输入的内容在一屏满了以后不会自动上滚 in ApiDemos application

Xiaohang Li 2013-07-29 15:11:55 CST
BUG DETAILED DESCRIPTIONS
===========================================================
"Views.Lists.Transcript" 输入的内容在一屏满了以后不会自动上滚 in ApiDemos application.

EXACT STEPS LEADING TO PROBLEM:
(Explain in detail what you do (e.g. tap on OK) and what you see (e.g.

message
Connection Failed appears))
===========================================================
1.Click MayloontTest
2.Click ApiDemos
3.Click Views.Lists.Transcript
4.
5.

EXPECTED OUTCOME:
===================

ACTUAL OUTCOME:
===================

USER IMPACT:
===================

REPRODUCIBILITY:
(always, less than 1/10, 5/10, 9/10)
=====================================

EXTRA SOFTWARE INSTALLED:
============================

OTHER COMMENTS:
===================

J2S generated code can't work well for function overload in Java

BUG DETAILED DESCRIPTIONS
===========================================================
J2S generated code can't work well for function overload in Java
EXACT STEPS LEADING TO PROBLEM:
(Explain in detail what you do (e.g. tap on OK) and what you see (e.g.
message
Connection Failed appears))
===========================================================
1.In java, void store(float value) is different with store(short value),
But after compiled by j2s, if call store with short, it will goes into
store with float. nio of ReadWriteHeapByteBuffer.java has this issue.

In javascript, short, float, double, int ... are all treated as Number object.
And, in javascript, no type information is binded with function parameter, so
we hardly implemented this java polymorphic feature in j2s:(

mayloon will display abnormally if clicking application in resized window

BUG DETAILED DESCRIPTIONS
===========================================================

EXACT STEPS LEADING TO PROBLEM:
(Explain in detail what you do (e.g. tap on OK) and what you see (e.g.

message
Connection Failed appears))
===========================================================
1.launch mayloon in full screen
2.resize window to half weight size
3.click five chess icon
4.
5.

EXPECTED OUTCOME:
===================
Five chess will display normally    

ACTUAL OUTCOME:
===================
Five chess only displayed in the left half window and home screen can still

show in the right half page, user can click other applications displayed in
right half window, after click the 3rd one, there will be no response for
mayloon

Abnormal case in scroll view

BUG DETAILED DESCRIPTIONS
===========================================================
In scroll widget, blank area of browser will appear following steps below:
1 left-press on mouse in scroll view area and do not release mouse
2 move mouse to the bottom of browser

Another abnormal case for scroll widget is: 
1. Left press on mouse in scroll view area and do not release mouse
2. Move mouse out of scroll view area and release mouse
3. Move mouse into scroll view area again
you will find that just moving mouse will scroll the view

ImageView doesn't respect the gravity

BUG DETAILED DESCRIPTIONS
===========================================================
ImageView doesn't respect the gravity, ChessIt in emulator, the image is
center while in our framework, the image seems align to right.
EXACT STEPS LEADING TO PROBLEM:
(Explain in detail what you do (e.g. tap on OK) and what you see (e.g.
message
Connection Failed appears))
===========================================================
1.
2.
3.
4.
5.

EXPECTED OUTCOME:
===================

ACTUAL OUTCOME:
===================

USER IMPACT:
===================

REPRODUCIBILITY:
(always, less than 1/10, 5/10, 9/10)
=====================================

EXTRA SOFTWARE INSTALLED:
============================

OTHER COMMENTS:
===================

[reply] [-] Comment 1 Yang, Jin A 2012-08-16 14:13:04 CST
The priority is low...
[reply] [-] Comment 2 Ye, Shuang 2013-06-28 10:16:59 CST
The image still seems align to right in our framework.
[reply] [-] Comment 3 Yang, Jin A 2013-06-28 10:38:26 CST
How to verify this issue? Any test case or app?(In reply to comment #2)

The image still seems align to right in our framework.
[reply] [-] Comment 4 Ye, Shuang 2013-08-22 09:50:06 CST
we can see app "ChessIt" still align to right in the browser(In reply to
comment #3)
How to verify this issue? Any test case or app?(In reply to comment #2)

The image still seems align to right in our framework.

There will be java2script implementation error when loading classes

The following error will happen when running test cases BroadcastTest in

android.app.activity:
android.app.activity.MyBadParcelable
Java2Script implementation error! Please report this bug!
[Java2Script] Error in loading
bin/framework/android/os/Parcelable/Creator.js!
android.content.res._FileAsset
Java2Script implementation error! Please report this bug!
Some errors still exist when launching mayloon, like:

[Java2Script] Error in loading bin/framework/java/nio/charset/Charset.js!

other errors can be found each time you launch mayloon

Seems like nio bug.

Missing inner class cannot be resolved in partial conversion

BUG DETAILED DESCRIPTIONS
===========================================================
If there is a missing inner class in application, mayloon partial
conversion cannot resolve it and generate related stub

EXACT STEPS LEADING TO PROBLEM:
(Explain in detail what you do (e.g. tap on OK) and what you see (e.g.

message
Connection Failed appears))
===========================================================
1.Import application MissingClassMemberInner in
mayloon-qa/partialConversion
2.Run it as android application to generate apk
3.Right click application and select "Convert to mayloon project"
4.
5.

关于androidManifest.xml中<service>的问题

BUG DETAILED DESCRIPTIONS
===========================================================
关于androidManifest.xml中的问题:在android application中service是只被create
一次,而可以start多次,并可以被destroy. 但在convert后的mayloon
project中却是可以被create多次,start多次,无法被destroy.
可参看mayloon-qa下的zTestManifestTag项目.

EXACT STEPS LEADING TO PROBLEM:
(Explain in detail what you do (e.g. tap on OK) and what you see (e.g.

message
Connection Failed appears))
===========================================================
1.android application 看LogCat 输出的"MyService"信息
2.mayloon project 看console 输出的"MyService"信息

The "Back" mechanism is not fully realized.

BUG DETAILED DESCRIPTIONS
===========================================================
"List dialog" always showing message as the "Back" button is uneffect on
Dialog. The "Back" mechanism is not fully realized.

Some files cannot be found when launching applications in web mode

BUG DETAILED DESCRIPTIONS
===========================================================
For some applications, even applications can be launched successfully,
there are files missing error in console when entering applications, in this
case, application cannot be successfully tested in windmill. Detailed error
message will be added

Classload will not load generated stub class file

After converting CalendarView application with partial conversion enabled,

run converted html application in browser then following error will show in
console:
Error in loading
../../../../tools/eclipse/pluigins/net.sf.j2s.lib_2.0.0.201308140909/j2slib/java/util/Formatter.js
But java.util.Formatter file has been generated in application folder with
stub info, so this error loading is not reasonable.

We can reproduce this bug with Beer application, after conversion,
java.util.concurrent.atomic.AtomicBoolean and related stub methods have been
generated, but when running converted application, we can find that
java.util.concurrent.atomic.AtomicBoolean is undefined

Mayloon startup paused on exception at line 4441 of jsthread.js

Mayloon startup paused on exception at line 4441 of external/jsthread.js:
throw new NoContinuationException(ret_val);

EXACT STEPS LEADING TO PROBLEM:
(Explain in detail what you do (e.g. tap on OK) and what you see (e.g.

message
Connection Failed appears))
===========================================================
1.paste the URL generated in the J2S Console into Chrome and run
2.open chrome developer tool inspector
3.set it pause on all exceptions
4.refresh mayloon page in chrome
5.continue with the few exceptions until it pauses in jsthread.js

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.