devgianlu / aria2app Goto Github PK
View Code? Open in Web Editor NEWAria2App is an advanced download manager based on aria2 that can handle remote servers too.
License: GNU General Public License v3.0
Aria2App is an advanced download manager based on aria2 that can handle remote servers too.
License: GNU General Public License v3.0
Sometimes when adding URLs the app may stuck at "Gathering information". And I need to force quit the app in order to add the link again. Sorry I can't provide log here.
Thank you so much for your work.
I want to request 2 Enhancements for webview. Please add them if you think there're reasonable.
1 :- currently tapping back button closes webview, but it will be better if it should go back to previous page (not close browser)
2 :- add setting to add webview browser icon into launcher (like adm do ss) this makes adding files much easier.
I'd like a way to quickly shut down the app when I don't need it anymore. Can you add a shutdown button to the sliding menu under "support" and maybe a shutdown button on the notification as well? Sometimes I just need the app to run for a short while and don't need it running for very long.
Fatal Exception: java.lang.OutOfMemoryError: pthread_create (1040KB stack) failed: Out of memory
at java.lang.Thread.nativeCreate(Thread.java)
at java.lang.Thread.start(Thread.java:753)
at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:970)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1388)
at okhttp3.RealCall$AsyncCall.executeOn(RealCall.java:182)
at okhttp3.Dispatcher.promoteAndExecute(Dispatcher.java:186)
at okhttp3.Dispatcher.enqueue(Dispatcher.java:137)
at okhttp3.RealCall.enqueue(RealCall.java:126)
at okhttp3.internal.ws.RealWebSocket.connect(RealWebSocket.java:193)
at okhttp3.OkHttpClient.newWebSocket(OkHttpClient.java:435)
at com.gianlu.aria2app.NetIO.WebSocketClient.(WebSocketClient.java:36)
at com.gianlu.aria2app.NetIO.WebSocketClient.(WebSocketClient.java:42)
at com.gianlu.aria2app.NetIO.WebSocketClient.checkConnection(WebSocketClient.java:58)
at ....
It is also noticeable that a lot of new threads are created along with a lot of WebSocketClient
. I wonder why this happens.
General Options only show up with
on-download-pause
pause-metadata-false
adding URI in webui-aria2 offers
pause true/false
when adding
this way building a download queue to process is possible.
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.text.Layout.getLineForOffset(int)' on a null object reference
at android.widget.Editor.updateCursorPositionMz(Editor.java:7810)
at android.widget.Editor.updateCursorsPositions(Editor.java:1963)
at android.widget.TextView.getUpdatedHighlightPath(TextView.java:5777)
at android.widget.TextView.onDraw(TextView.java:5963)
at android.view.View.draw(View.java:17207)
at android.view.View.updateDisplayListIfDirty(View.java:16185)
at android.view.View.draw(View.java:16969)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.updateDisplayListIfDirty(View.java:16180)
at android.view.View.draw(View.java:16969)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.draw(View.java:17210)
at com.google.android.material.textfield.TextInputLayout.draw(TextInputLayout.java:1577)
at android.view.View.updateDisplayListIfDirty(View.java:16185)
at android.view.View.draw(View.java:16969)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.updateDisplayListIfDirty(View.java:16180)
at android.view.View.draw(View.java:16969)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.draw(View.java:17210)
at android.view.View.updateDisplayListIfDirty(View.java:16185)
at android.view.View.draw(View.java:16969)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.updateDisplayListIfDirty(View.java:16180)
at android.view.View.draw(View.java:16969)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.updateDisplayListIfDirty(View.java:16180)
at android.view.View.draw(View.java:16969)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.updateDisplayListIfDirty(View.java:16180)
at android.view.View.draw(View.java:16969)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.updateDisplayListIfDirty(View.java:16180)
at android.view.View.draw(View.java:16969)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.updateDisplayListIfDirty(View.java:16180)
at android.view.View.draw(View.java:16969)
at android.view.ViewGroup.drawChild(ViewGroup.java:3764)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3550)
at android.view.View.draw(View.java:17210)
at com.android.internal.policy.DecorView.draw(DecorView.java:781)
at android.view.View.updateDisplayListIfDirty(View.java:16185)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:656)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:662)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:770)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:2867)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2669)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2270)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1300)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6481)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:885)
at android.view.Choreographer.doCallbacks(Choreographer.java:697)
at android.view.Choreographer.doFrame(Choreographer.java:633)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:871)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6337)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
There's a lot more information about this crash on crashlytics.com:
https://fabric.io/devgianlu2/android/apps/com.gianlu.aria2app/issues/5bd77106f8b88c2963badfeb?utm_medium=service_hooks-github&utm_source=issue_impact
There's a lot more information about this crash on crashlytics.com:
http://example.com/path/to/fabric/issue
Hi, right now the rename function doesn't seem to preserve the filename. For example, if I download "music.mp3" and rename it to "song" it just saves as "song" with no file extension. It should save as song.mp3. I realize I could just type "song.mp3" but that seems completely unnecessary. I will rarely, if ever, have to change the file extension because I'm downloading the exact type of file I want. Can we have an option so that when renaming a file, it only changes the filename and not the extension? Thanks.
Hi
Is there any reason why the app tries connect to the site above?
I'm using the app, with aria2 v1.34 release off Github.
Setting the -max-tries
option does not appear to work, downloads stop whenever connection is lost (which is a lot when on mobile internet).
Relevant error string: Error #1: No URI available.
.
I found a suspicious max-tries,
option in https://github.com/devgianlu/Aria2App/blob/7e129a2e43d21385b94caf630abe449f1b67cf9d/app/src/main/assets/options.json, which might be the cause of the problem, but I'm not sure.
It's unclear howto start server, moreover unable to open https://gianlu.xyz/documents/Aria2App/create-profile/ just blank page shown
My default download folder in my PC is dir=C:/Users/Administrator/Downloads
, but I usually use another download to start some download, which set the destination to C:/Users/Administrator/Downloads/dmhy
.
And I have a nginx server on my pc, http://IP_OF_MYPC/Downloads/
points to C:/Users/Administrator/Downloads
so that normal download can be correctly handled.
However, it doesn't work fine with files in C:/Users/Administrator/Downloads/dmhy
.
I recently reinstalled Aria2App and Firefox. Since then I am not getting the option to open-with Aria2App, like it used to show earlier. Firefox starts downloading the file immediately.
This is when I tried with .zip files.
When I tried it with a .pdf, Firefox did show a open-with dialog, but Aria2App isn't in the list of applications shown.
Aria2App does show up in the Share menu options.
I can't figure out what changed. How do I revert to the old behavior?
Is it possible to use Apache as a direct download provider? I looked at the direct download setup and it seems like it is running over http. I am wondering if you have a guide to set this up over Apache?
thanks
java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder{3c32c8e position=223 id=-1, oldPos=-1, pLpos:-1 no parent} com.gianlu.commonutils.InfiniteRecyclerView{8c9839a VFED.V... ......ID 0,0-1080,1425 #7f0901a5 app:id/recyclerViewLayout_list}, adapter:com.gianlu.aria2app.Activities.MoreAboutDownload.a.c@70224cb, layout:android.support.v7.widget.LinearLayoutManager@321b4a8, context:com.gianlu.aria2app.Activities.MoreAboutDownloadActivity@da1c581
at android.support.v7.widget.RecyclerView$Recycler.validateViewHolderForOffsetPosition(RecyclerView.java:5610)
at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5792)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5752)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5748)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2232)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1559)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1519)
at android.support.v7.widget.LinearLayoutManager.scrollBy(LinearLayoutManager.java:1333)
at android.support.v7.widget.LinearLayoutManager.scrollVerticallyBy(LinearLayoutManager.java:1077)
at android.support.v7.widget.RecyclerView$ViewFlinger.run(RecyclerView.java:4960)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:862)
at android.view.Choreographer.doCallbacks(Choreographer.java:674)
at android.view.Choreographer.doFrame(Choreographer.java:607)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:848)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:179)
at android.app.ActivityThread.main(ActivityThread.java:5769)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:676)
I'm not able to signin using webview on google drive to download files.
Link :- https://drive.google.com/a/apps.losrios.edu/file/d/1X_C0zzk-LEXg9vVhahtyFGs3-rqMtNUI/view?usp=drivesdk
This my university account, Link is not public so i have to signin 1st to access/download my files.
But whenever i try to access this i get this.
Another link where I'm having problems.
Link 2 :- https://drive.google.com/file/d/1gh2CXrMbB5EtEKcgfm61omrDmIeNCSJR/view?usp=drivesdk
This is from my personal account, again link is not public so i have to signin before accessing it. But signin page not working.
Tapping on next button does nothing.
I also have two enhancement request for webview.
1 :- Add loading progress bar.
2 :- Allow Search. In current build I'm not able to search it shows only blank white screen.
The Handler
doesn't seem to post the message at all.
android.app.RemoteServiceException: Context.startForegroundService() did not then call Service.startForeground(): ServiceRecord{fdbfb8c u0 com.gianlu.aria2app/.Services.NotificationService}
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1750)
at android.os.Handler.dispatchMessage(Handler.java:114)
at android.os.Looper.loop(Looper.java:198)
at android.app.ActivityThread.main(ActivityThread.java:6716)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
https://proandroiddev.com/pitfalls-of-a-foreground-service-lifecycle-59f014c6a125
I'll use this library: https://github.com/tonyofrancis/Fetch. That's happening on dd-library-fetch
.
TODO:
Hi
I am wondering if it is possible to support downloading Youtube videos? It will be like regular download, like how Aria downloads and saves them on the server
thanks
Shouldn't the in-app downloader recently added to Aria2app make it so that files can be downloaded without configuring anything else? Everything I try to download gets Error #16 Download Aborted. I'd like to be able to download files to my phone just by selecting the in-app downloader and adding URLs, but that doesn't seem to work on a clean installation of 5.0.1.
java.lang.IllegalStateException: Fragment no longer exists for key f0: index 0
at androidx.fragment.app.FragmentManagerImpl.getFragment(FragmentManager.java:938)
at androidx.fragment.app.FragmentStatePagerAdapter.getItem(FragmentStatePagerAdapter.java:217)
at androidx.viewpager.widget.ViewPager.setAdapter(ViewPager.java:534)
at com.gianlu.aria2app.Activities.MoreAboutDownloadActivity$1.onLoad(MoreAboutDownloadActivity.java:104)
at com.gianlu.aria2app.Activities.MoreAboutDownloadActivity$1.onLoad(MoreAboutDownloadActivity.java:86)
at com.gianlu.aria2app.NetIO.Updater.UpdaterFramework$1.onPayload(UpdaterFramework.java:62)
at com.gianlu.aria2app.NetIO.Updater.PayloadProvider.onPayload(PayloadProvider.java:73)
at com.gianlu.aria2app.NetIO.Updater.PayloadUpdater.hasResult(PayloadUpdater.java:41)
at com.gianlu.aria2app.Activities.MoreAboutDownload.BigUpdateProvider$Updater.onResult(BigUpdateProvider.java:46)
at com.gianlu.aria2app.Activities.MoreAboutDownload.BigUpdateProvider$Updater.onResult(BigUpdateProvider.java:29)
at com.gianlu.aria2app.NetIO.AbstractClient$1$1.run(AbstractClient.java:105)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:180)
at android.app.ActivityThread.main(ActivityThread.java:6950)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:835)
I have 3 profiles. In the startup UI, I can scroll to access any of them, however, the list window only shows 2 items at the same time, and there is plenty of space left under the plus icon on my 1280x720 phone screen.
Is it possible to enlarge the list area to show more items or make it self-adjust to screen resolution to better utilize screen area?
With at least one for built-in profile for In-App downloader, the num of profiles will easily go more than 2.
Not a malfunction actually.
Thanks.
#00 pc 0000000001d9dfd8 /data/app/com.google.android.webview-2/lib/arm64/libwebviewchromium.so
#01 pc 0000000001d9dea4 /data/app/com.google.android.webview-2/lib/arm64/libwebviewchromium.so
#00 pc 0000000001d9dfd8 /data/app/com.google.android.webview-kNh22TlXciAb9wsK0x6wLA==/lib/arm64/libwebviewchromium.so
#01 pc 0000000001d9dea4 /data/app/com.google.android.webview-kNh22TlXciAb9wsK0x6wLA==/lib/arm64/libwebviewchromium.so
#00 pc 0000000001d9dfd8 /system/app/WebViewGoogle/lib/arm64/libwebviewchromium.so
#01 pc 0000000001d9dea4 /system/app/WebViewGoogle/lib/arm64/libwebviewchromium.so
https://bugs.chromium.org/p/chromium/issues/detail?id=937371
There's a lot more information about this crash on crashlytics.com:
https://fabric.io/devgianlu2/android/apps/com.gianlu.aria2app/issues/5bd771ccf8b88c2963baf5b1?utm_medium=service_hooks-github&utm_source=issue_impact
java.lang.RuntimeException: Could not read input channel file descriptors from parcel.
at android.view.InputChannel.nativeReadFromParcel(InputChannel.java)
at android.view.InputChannel.readFromParcel(InputChannel.java:148)
at android.view.InputChannel$1.createFromParcel(InputChannel.java:39)
at android.view.InputChannel$1.createFromParcel(InputChannel.java:37)
at com.android.internal.view.InputBindResult.(InputBindResult.java:68)
at com.android.internal.view.InputBindResult$1.createFromParcel(InputBindResult.java:112)
at com.android.internal.view.InputBindResult$1.createFromParcel(InputBindResult.java:110)
at com.android.internal.view.IInputMethodManager$Stub$Proxy.startInputOrWindowGainedFocus(IInputMethodManager.java:723)
at android.view.inputmethod.InputMethodManager.startInputInner(InputMethodManager.java:1295)
at android.view.inputmethod.InputMethodManager.onPostWindowFocus(InputMethodManager.java:1538)
at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3934)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6602)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:453)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:821)
This is probably caused by a lack of file descriptors which are being consumed by the HttpClient.
We should:
It would be nice if we could add more mirrors after the download has started
Thanks for your app.
However, the quality of zh-cn translation that made it to the recent release (> 4.0.5) is poor.
There are no apparent standard Chinese translation for certain phrases or standard ones are too complex or unfamiliar for the general public, so I think it better to leave it as is, as the English counterparts are much easier to understand, eg, URI. Some others greatly diff from mature Windows or major Linux distro Chinese translations (de facto standard). I may be of help to improve that a bit. But for now, I'd like to know if there is an option to change back to en UI. Surely, staying with release 4.0.5 is always a valid choice for me.
Here is the track source: trackerslist
When going back to the browser after sharing a link, Aria2App will reopen itself again in an infinite loop.
Hi,
I just happened to check the app on my Chromebook running the latest 59 version (with Android apps support).
I noticed two strange behaviors related to the DirectDownload menu:
I do not know if you own a Chromebook so testing on it might be difficult. I can help testing the fix if needed.
Cheers.
/storage/emulated/0/Download
from default settings shows up even when other path was applied in Global options/ Quick global options
Happens at app restart and after few hours of runtime.
For some reason, the aria2c service notification cannot be closed like the other notification, even though aria2app is behaving as a single application. Can we only have one notification running so that we can easily close it when we don't need to use aria2app anymore?
Is there any chance you can merge both notifications into 1 single notification when using the in-app downloader? It seems unnecessary to have 2 notifications always running, especially when only 1 of them can be closed with a "stop service" button.
I'm running the latest 5.1 version.
for wiki:
to overcome limits when using external SD-Card as default download storage for aria2app in oreo:
Magisk +Magisk Manager + Module "ExSDCard AccessEnable" comes handy.
It mounts SD-Card read/writable to /mnt/media_rw/ with permission to use for everyone-user.
This way, oreo does not complain about missing rights to use path that links to external SD-Card.
If you open the app from the app drawer, and there is no other profile listed, the in app downloader starts automatically and the app opens to the downloads screen. This is expected behaviour.
However, if you try to start a download directly from the browser and select the app, it opens to the profile selection screen, with the message "Connecting", the loading circle glitching indefinitely, while a toast says "Failed connecting!". It stays like that until you back out of the app.
If you do have another profile, then you get the option of selecting one. Selecting the in app downloader shows the toast saying it failed to connect again, but it starts the service in the background. Selecting it again finally takes you to the Add URL screen.
If the Aria2Android service isn't running in the background, then selecting the Aria2Android profile gives the toast saying it failed to connect, too. Tapping it again makes no difference. You need to ensure it is running beforehand.
This means whenever you want to download something from the browser with the in app downloader and have no other profile, you need the extra step to open the app from the app drawer, hence starting the in app downloader, then switch back to the browser and start the download.
The same applies to the Aria2Android profile. You need to start it before you initiate the download.
This problem appeared with the inclusion of the in app downloader. But earlier behavior was a little complicated too. You initiate a download with Aria2App. It gives the Webview message. Reject it. It then gives a message saying the local profile isn't running and if you want to start it. You accept. It opens Aria2Android. You start it. Go back. Aria2App doesn't open the Add URL screen. Instead it opens the downloads screen. Go back. Initiate the download from the browser again. Finally, you get the Add URL screen.
Expected behaviour:
With no other profile except the in app downloader, any download initiated from the browser should take you directly to the Add URL screen, with the downloader service starting in the background.
Like you say, it is recommended ;)
Hi very keen to experiment with this app but not enough info in wiki on how to setup. Domain in particular, what settings should be used?
I'm choosing to use wifi connection and supplying my wifi SSID. as for the http address, what is expected?
I use the in-APP downloader in the aria2APP.
I want to change the config ,like the rpc listen-port to 6800. so i change it and apply.
But when i restart aria2APP , i found it didn't work...Just like i didn't change.
I like this app but one issue I find is that it is imposibble to go back and leave after a download finished
open browser
find a download file and share to the app
add it and ok to start the download
let it finish
now use you back button to go back
It goes back to adding the link menu, then goes back and does some funcky stuff then I do not know how many million times to make it quit the app. This does not sound like regular behavior. I even disabled the notificiation Services
I am using it on LIneage OS 14.1 Arm
thanks
if i add uri to aria2app https://books.memoryoftheworld.org/search/authors/Chris%20Kraus?dl=meta4 aria2app will happily download all of the files with the directory structure as metalink file states.
if i do it via browser and download the file aria2app will not find that file as mime type application/metalink4+xml so it doesn't make it possible to be added.
if i try through file browser to share or open with aria2app it complains it is invalid file.
i don't have much experience in handling the file/mime types on android. i would like if i can make my server api prepare better the file for android download.
the same file if downloaded on linux would work just fine with aria2c -c that_file.meta4
Dear developer!
Super glad to hear the app is now open source, which makes it easier to contribute and provide feedback.
So, little suggestions here.
Thanks in advance!
java.lang.SecurityException: Unable to start service Intent { act=com.gianlu.aria2app.Services.NotificationService.START cmp=com.gianlu.aria2app/.Services.NotificationService (has extras) }: foreground not allowed as per app op
at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1574)
at android.app.ContextImpl.startForegroundService(ContextImpl.java:1538)
at android.content.ContextWrapper.startForegroundService(ContextWrapper.java:669)
at androidx.core.content.ContextCompat.startForegroundService(ContextCompat.java:675)
at com.gianlu.aria2app.Services.NotificationService.startInternal(NotificationService.java:110)
at com.gianlu.aria2app.Services.NotificationService.start(NotificationService.java:118)
at com.gianlu.aria2app.ThisApplication.onCreate(ThisApplication.java:61)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1154)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5920)
at android.app.ActivityThread.access$1100(ActivityThread.java:200)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1656)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6718)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Happens on HTC Android 9.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.