Code Monkey home page Code Monkey logo

Comments (35)

marchbold avatar marchbold commented on June 1, 2024 1

I've noticed this error when we attempt to run a debug build from the generated AndroidStudioProject on a device . I haven't investigated further but let me know if you want more information.

I/MultiDex: VM with version 2.1.0 has multidex support
I/MultiDex: Installing application
I/MultiDex: VM has multidex support, MultiDex support library is disabled.
I/StartupTime1: :1703111562194
I/AIR VERSION: :50.2.3.7
I/DEVICE ARCH: :arm64-v8a
E/appcoins.sampl: No implementation found for void com.adobe.air.AIRWindowSurfaceView.nativeShowOriginalRect() (tried Java_com_adobe_air_AIRWindowSurfaceView_nativeShowOriginalRect and Java_com_adobe_air_AIRWindowSurfaceView_nativeShowOriginalRect__) - is the library loaded, e.g. System.loadLibrary?
E/appcoins.sampl: No implementation found for void com.adobe.air.AIRWindowSurfaceView.nativeShowOriginalRect() (tried Java_com_adobe_air_AIRWindowSurfaceView_nativeShowOriginalRect and Java_com_adobe_air_AIRWindowSurfaceView_nativeShowOriginalRect__) - is the library loaded, e.g. System.loadLibrary?
E/appcoins.sampl: No implementation found for void com.adobe.air.AIRWindowSurfaceView.nativeSurfaceCreated() (tried Java_com_adobe_air_AIRWindowSurfaceView_nativeSurfaceCreated and Java_com_adobe_air_AIRWindowSurfaceView_nativeSurfaceCreated__) - is the library loaded, e.g. System.loadLibrary?
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: air.com.appcoins.sample, PID: 22180
    java.lang.UnsatisfiedLinkError: No implementation found for void com.adobe.air.AIRWindowSurfaceView.nativeSurfaceCreated() (tried Java_com_adobe_air_AIRWindowSurfaceView_nativeSurfaceCreated and Java_com_adobe_air_AIRWindowSurfaceView_nativeSurfaceCreated__) - is the library loaded, e.g. System.loadLibrary?
        at com.adobe.air.AIRWindowSurfaceView.nativeSurfaceCreated(Native Method)
        at com.adobe.air.AIRWindowSurfaceView.surfaceCreated(AIRWindowSurfaceView.java:753)
        at android.view.SurfaceView.updateSurface(SurfaceView.java:1184)
        at android.view.SurfaceView.lambda$new$0$SurfaceView(SurfaceView.java:175)
        at android.view.SurfaceView$$ExternalSyntheticLambda2.onPreDraw(Unknown Source:2)
        at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1093)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3297)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2126)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8649)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1037)
        at android.view.Choreographer.doCallbacks(Choreographer.java:845)
        at android.view.Choreographer.doFrame(Choreographer.java:780)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1022)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at android.app.ActivityThread.main(ActivityThread.java:7842)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
I/Process: Sending signal. PID: 22180 SIG: 9
Disconnected from the target VM, address: 'localhost:55630', transport: 'socket'

Seems to be related to the architecture we build the project for.

from adobe-runtime-support.

ajwfrost avatar ajwfrost commented on June 1, 2024 1

Ah .. so it looks like there's a priorities/conflict thing going on here:

armv7,armv8,x86,x64

This works only for AIR 50.2.3.7...not for newer versions of AIR.

So, the change we put in to get the proper support working for buildArchitectures and multi-abi apk files means that we do now have a problem with Animate again. Animate deliberately calls ADT with a parameter -arch armv7 and this is then overriding the other options.

Of course, Animate doesn't (yet?) have an option to build for x64, which is what would be needed here.

There should be a workaround if you wanted to force it to x64: the reason the "all build types" didn't work is because the passed-in value is one of the allowed ones. So if you had:

<buildArchitectures>x64</buildArchitectures>

then this would override the passed-in armv7 request and mean it could then run on the x64 emulator.

I'll see again whether we can get the Adobe team to update Animate for this.... :-(

from adobe-runtime-support.

ajwfrost avatar ajwfrost commented on June 1, 2024

Hi @hadisn - can I check why you've closed this as completed? That's a fairly fundamental error .. if you saw it, I'm curious as to what Android OS version you were on? Plus what build type did you create (AAB vs APK, architecture version, etc)?
thanks

from adobe-runtime-support.

hadisn avatar hadisn commented on June 1, 2024

I closed it because it works when I choose this Option in Android Studio: Run/Debug Configurations -> Installation Options -> Deploy: Apk from app bundle. Default is Default APK (I think before this worked by default options...)

I tested it on multiple OS (Nougat 32 & 64 bit and Android 12).

from adobe-runtime-support.

hadisn avatar hadisn commented on June 1, 2024

But when I test it with android studio virtual device Nexus 5 API 33 i see this error: The app doesn't support ABI architectures of the device. Device ABIs: [x86_64], app ABIs: [armeabi-v7a]. It have only armeabi-v7a version

from adobe-runtime-support.

ajwfrost avatar ajwfrost commented on June 1, 2024

How are you building the APK file for your app? The default build of an APK would be to just have the armv7 i.e. armeabi-v7a, but you can configure it to include other ones if you prefer via the app descriptor buildArchitectures list, or select the ABI on the command-line via -arch x64 ..?

Or build the bundle which should normally include all the ABIs anyway, unless you've requested it not to.

Note that there was a bit of an issue with some of this stuff in 50.2.4.1 so it may be worth ensuring you're using 50.2.4.2?

thanks

from adobe-runtime-support.

hadisn avatar hadisn commented on June 1, 2024

@ajwfrost here is what I did:
Open my app in adobe animate cc -> choose -> AIR 50.2.3.6 -> Publish
Open AndroidStudioProject in Adndroid Studio -> Generate App Bundle (release version), everything fine and I have all acrhitectures.

If I do all steps same but just choose AIR 50.2.4.2 there is only armeabi-v7a version.

I am using 7zip to open .aab file and navigate to \app-release.aab\base\lib\ and there is only armeabi-v7a folder, but with AIR 50.2.3.6 there are folders:
arm64-v8a
armeabi-v7a
x86
x86_64

Note that I didn't made any changes anywhere except choosing different AIR version. I really don't understand what happening...

Thank you

from adobe-runtime-support.

ajwfrost avatar ajwfrost commented on June 1, 2024

Ah, right, yes if you're picking up the AndroidStudioProject and building/deploying from there, then yes it would have had a change due to a bug report where there were unnecessary ABIs being packaged up ..! So to go back to the earlier behaviour, you can add a section into your application descriptor file, within the <android> section, of:

<buildArchitectures>armv7,armv8,x86,x64</buildArchitectures>

thanks

from adobe-runtime-support.

hadisn avatar hadisn commented on June 1, 2024

armv7,armv8,x86,x64

This works only for AIR 50.2.3.7...not for newer versions of AIR.

from adobe-runtime-support.

hadisn avatar hadisn commented on June 1, 2024

I don't believe that Adobe will update Animate soon, but I trust that You will find solution for this sooner :). It's ok for me to keep current AIR version in my apps as long as Google don't require to update, I hope we will solve something until then.

Thank you

from adobe-runtime-support.

fix89 avatar fix89 commented on June 1, 2024

Hi, I have the same problem and I can't figure it out!
I create the Bundle with Animate, but nothing. Any work around?

I tried 50.2.3.8 and the latest one 50.2.4.2

from adobe-runtime-support.

hadisn avatar hadisn commented on June 1, 2024

Hi, I have the same problem and I can't figure it out! I create the Bundle with Animate, but nothing. Any work around?

I tried 50.2.3.8 and the latest one 50.2.4.2

Try AIR 50.2.3.6.

from adobe-runtime-support.

Shaunmax avatar Shaunmax commented on June 1, 2024

Hey! I have the same problem with 50.2.4.2.
What is the work around for this?

from adobe-runtime-support.

ajwfrost avatar ajwfrost commented on June 1, 2024

Hi

If you are trying to create an Android App Bundle via Animate, then it should be possible with 50.2.4.2 to add this to your XML application descriptor file:

<buildArchitectures>armv7,armv8,x86,x64</buildArchitectures>

But if you're using Animate to create an APK file, you would need to omit armv7 (unless you actually want an armv7 build!) - so e.g.

<buildArchitectures>armv8,x64</buildArchitectures>

If this still doesn't help, please share the debugging output from ADT when you package the application, which you can get from the AIR SDK Manager "troubleshooting" tab.

thanks

from adobe-runtime-support.

Shaunmax avatar Shaunmax commented on June 1, 2024

@ajwfrost I am using IntelliJ IDEA, and have added

<android>
    <buildArchitectures>armv7,armv8,x86,x64</buildArchitectures>
    <containsVideo>true</containsVideo>

from adobe-runtime-support.

Shaunmax avatar Shaunmax commented on June 1, 2024

image

also, there is no way to test this, other than uploading it to the play store?

from adobe-runtime-support.

ajwfrost avatar ajwfrost commented on June 1, 2024

Why can't you test it locally? I think the below command should work if you've got a single device (or emulator) connected?

adt -installApp -package your_application.aab

But also - an AAB file (and an APK) is just a zip file, so you can open it up and look into it to try to find if the native libraries are there.

Probably we should also add an "inspect" command to ADT to help with this :-)
I think you can open AAB/APK files from Android Studio too, if that helps.

thanks

from adobe-runtime-support.

Shaunmax avatar Shaunmax commented on June 1, 2024

adt -installApp -package

I got this

Unsupported / Missing <platform>
usage:
  adt -checkstore SIGNING_OPTIONS
  adt -certificate -cn <name> ( -ou <org-unit> )? ( -o <org-name> )? ( -c <country> )? ( -validityPeriod <years> )? 2048-RSA <pfx-file> <password>
  adt -license
  adt -help
  adt -migrate SIGNING_OPTIONS ( <air-file-in> | <airn-file-in> ) <output-file>
  adt -package SIGNING_OPTIONS ( -target air )? <output-package> ( <app-desc> FILE_OPTIONS | <input-package> )
  adt -package SIGNING_OPTIONS -target airn <output-package> ( <app-desc> FILE-AND-PATH-OPTIONS | <input-package> )
  adt -package -target ( apk | apk-debug | apk-emulator | apk-captive-runtime ) ( CONNECT_OPTIONS? | LISTEN_OPTIONS? ) ( -airDownloadURL <url> )? ( ARCH_OPTIONS )? SIGNING_OPTIONS <output-package> ( <app-desc> PLATFORM-SDK-OPTION? FILE-AND-PATH-OPTIONS | <input-package> PLATFORM-SDK-OPTION? )
  adt -package -target ( aab | aab-debug ) ( CONNECT_OPTIONS? | LISTEN_OPTIONS? ) (SIGNING_OPTIONS?) <output-package> ( <app-desc> FILE-AND-PATH-OPTIONS | <input-package> ) PLATFORM-SDK-OPTION
  adt -package -target ( ipa-test | ipa-debug | ipa-app-store | ipa-ad-hoc | ipa-test-interpreter | ipa-debug-interpreter | ipa-test-interpreter-simulator | ipa-debug-interpreter-simulator ) ( CONNECT_OPTIONS? | LISTEN_OPTIONS? ) ( -sampler )? ANE_LINK_OPTIONS? AOT_MODE_OPTIONS? EMBED_BITCODE_OPTIONS? SIGNING_OPTIONS <output-package> ( <app-desc> PLATFORM-SDK-OPTION? FILE-AND-PATH-OPTIONS | <input-package> PLATFORM-SDK-OPTION? )
  adt -package SIGNING_OPTIONS? -target native SIGNING_OPTIONS? <output-package> ( <app-desc> FILE-AND-PATH-OPTIONS | <input-package> )
  adt -package SIGNING_OPTIONS? -migrate SIGNING_OPTIONS -target native SIGNING_OPTIONS? <output-package> <app-desc> FILE_OPTIONS PATH-OPTION
  adt -package SIGNING_OPTIONS? -target bundle SIGNING_OPTIONS? ARCH_OPTIONS? <output-package> ( <app-desc> FILE-AND-PATH-OPTIONS | <input-package> )
  adt -package SIGNING_OPTIONS? -target ane <output-package> <ext-desc> ANE_OPTIONS
  adt -prepare <airi-file> <app-desc> FILE_AND_PATH_OPTIONS
  adt -sign SIGNING_OPTIONS ( -target ( air | airn | ane | bundle ) )? ( <airi-file> | <unsigned-ane-file> | <bundle-folder> ) <output-file>
  adt -devices          PLATFORM-OPTION PLATFORM-SDK-OPTION? 
  adt -installRuntime   PLATFORM-OPTION PLATFORM-SDK-OPTION? DEVICE-OPTION? ( -package <apk-file> )?
  adt -installApp       PLATFORM-OPTION PLATFORM-SDK-OPTION? DEVICE-OPTION? -package <apk-file | aab-file | ipa-file>
  adt -uninstallRuntime PLATFORM-OPTION PLATFORM-SDK-OPTION? DEVICE-OPTION?
  adt -uninstallApp     PLATFORM-OPTION PLATFORM-SDK-OPTION? DEVICE-OPTION? -appid <app-id>
  adt -launchApp        { PLATFORM-OPTION PLATFORM-SDK-OPTION? DEVICE-OPTION? ( -debuggerPort port )? -appid <app-id> }
  adt -runtimeVersion   PLATFORM-OPTION PLATFORM-SDK-OPTION? DEVICE-OPTION?
  adt -appVersion       PLATFORM-OPTION PLATFORM-SDK-OPTION? DEVICE-OPTION? -appid <app-id>
  adt -version

SIGNING_OPTIONS      : -storetype <type> ( -keystore <store> )? ( -storepass <pass> )? ( -alias <aliasName> )? ( -keypass <pass> )? ( -providerName <name> )? ( -tsa <url> )? ( -provisioning-profile <profile> )?
FILE_OPTIONS         : <fileOrDir>* ( ( -C <dir> <fileOrDir>+ ) | ( -e <file> <path> ) )*
ARCH_OPTIONS         : -arch (armv7 | x86 | x64 | armv8 )
CONNECT_OPTIONS      : -connect <host>
LISTEN_OPTIONS       : -listen <port>
ANE_LINK_OPTIONS     : -hideAneLibSymbols ( yes | no )
ANE_OPTIONS          : -swc <swc> ( -platform <name> (-platformoptions <file>)? <fileOrDir>* ( -C <dir> <fileOrDir>+ )* )*
FILE-AND-PATH-OPTIONS: ( PATH-OPTION | FILE-OPTIONS ) FILE-AND-PATH-OPTIONS?
PATH-OPTION          : ( -extdir <dir> | -resdir <dir> )
PLATFORM-OPTION      : -platform (android | ios)
PLATFORM-SDK-OPTION  : -platformsdk <platform-sdk-home-dir>
DEVICE-OPTION        : -device ( deviceID | ios-simulator )
AOT_MODE_OPTIONS     : -useLegacyAOT ( yes | no )
EMBED_BITCODE_OPTIONS: -embedBitcode ( yes | no )
All commands can be preceeded by '-licenseFile (path)adt.lic' or '-licenseDevID DevID' to override the use of the lib/adt.lic file

from adobe-runtime-support.

ajwfrost avatar ajwfrost commented on June 1, 2024

Which version of AIR SDK is that? It's a little old..? (earlier than May 2022, from what I can see....)
You should see (2048-RSA | 4096-RSA) in the certificate usage... we added the auto-detect for platform around October 2022 I think.

But with that one, you could still try:

adt -installApp -platform android -package your_application.aab

from adobe-runtime-support.

Shaunmax avatar Shaunmax commented on June 1, 2024

Which version of AIR SDK is that?

is it possible to check AIR sdk version used by adt?

from adobe-runtime-support.

Shaunmax avatar Shaunmax commented on June 1, 2024

But also - an AAB file (and an APK) is just a zip file, so you can open it up and look into it to try to find if the native libraries are there.

this worked, hope this time there should be no issues!

from adobe-runtime-support.

ajwfrost avatar ajwfrost commented on June 1, 2024

adt -version should give the details for this.. or check the file at the root of the AIR SDK, there's an xml file giving version and build details.

If you did want to use the latest AIR SDK version (50.2.4.2) then there's also a patch version of adt.jar that you can apply on top of that (in the "lib" folder): https://github.com/airsdk/Adobe-Runtime-Support/files/13877375/adt.zip

But we'll also try to get this out in a proper release soon..

thanks

from adobe-runtime-support.

hadisn avatar hadisn commented on June 1, 2024

Looks like issue still persist in version 50.2.4.4, or I missed something? Thanks

from adobe-runtime-support.

ajwfrost avatar ajwfrost commented on June 1, 2024

Looking at this thread .. I'm not sure what the action was here though..? There's still the restrictions in Animate but if the configurations are set up properly, ADT should generate what's requested?

Are you able to clarify the issue you're still seeing?

from adobe-runtime-support.

hadisn avatar hadisn commented on June 1, 2024

App crash

FATAL EXCEPTION: main

java.lang.UnsatisfiedLinkError: No implementation found for void com.adobe.air.AIRWindowSurfaceView.nativeSurfaceCreated() (tried Java_com_adobe_air_AIRWindowSurfaceView_nativeSurfaceCreated and Java_com_adobe_air_AIRWindowSurfaceView_nativeSurfaceCreated__)
	at com.adobe.air.AIRWindowSurfaceView.nativeSurfaceCreated(Native Method)
	at com.adobe.air.AIRWindowSurfaceView.surfaceCreated(AIRWindowSurfaceView.java:756)
	at android.view.SurfaceView.updateSurface(SurfaceView.java:1006)
	at android.view.SurfaceView.lambda$new$0$android-view-SurfaceView(SurfaceView.java:160)
	at android.view.SurfaceView$$ExternalSyntheticLambda5.onPreDraw(Unknown Source:2)
	at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1182)
	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3567)
	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2328)
	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9087)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1231)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1239)
	at android.view.Choreographer.doCallbacks(Choreographer.java:899)
	at android.view.Choreographer.doFrame(Choreographer.java:832)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1214)
	at android.os.Handler.handleCallback(Handler.java:942)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:201)
	at android.os.Looper.loop(Looper.java:288)
	at android.app.ActivityThread.main(ActivityThread.java:7872)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)

from adobe-runtime-support.

ajwfrost avatar ajwfrost commented on June 1, 2024

Okay yes, so that would normally happen if the correct version of the native library is not found in the APK file. How are you packaging up the APK or AAB file, and do you have any override settings in your "adt.cfg" file or any "buildArchitecture" flags in your app descriptor?

from adobe-runtime-support.

hadisn avatar hadisn commented on June 1, 2024

In adt.cfg I have path to java, I dont have buildArchitecture flags in app descriptor, should I have? I am using adobe animate tu build android studio project, and from android studio I am building aab.

from adobe-runtime-support.

ajwfrost avatar ajwfrost commented on June 1, 2024

So from what I can see:

  1. Building from Animate with ARMv7 checked
    No build architectures or other overrides from the config file
    Output only contains ARMv7 binaries

  2. Building from Animate with ARMv7 checked
    All build architectures set in the app descriptor
    Output still only contains ARMv7 binaries...

  3. Building from Animate with ARMv7 checked
    All build architectures set in the app descriptor
    Additional "CreateAndroidAppBundle=true" setting in config file
    Output now contains all the binaries, per the build architecture request

So I think unless you override that "Create Android App Bundle" setting, ADT will just do as it's asked by Animate, which is probably the wrong thing to do! Are you able to change that setting and then check in the generated Android Studio project:
AndroidStudioProject/app/src/main/jniLibs/ should contain arm64-v8a/ armeabi-v7a/ x86/ x86_64/

Also just to check, what CPU format is the handset/simulator that you're running on?

FYI we are still talking with Adobe about the Animate thing and trying to get these options built into their UI..

thanks

from adobe-runtime-support.

hadisn avatar hadisn commented on June 1, 2024

Yes you are right, all 3 thing you mentioned are correct. So point is to set CreateAndroidAppBundle=true in adt.cfg? :)

Now it launches app but crash because of distriqt adverts ane, I updated their ane also, need to check this detailed, I have this error:

FATAL EXCEPTION: AdWorker(ClientSingle) #1 Process: air.com...., PID: 29010 java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/internal/ads/zzged;

from adobe-runtime-support.

hadisn avatar hadisn commented on June 1, 2024

I noticed that manifest file (updated via apm) now contain this few new lines:

<property android:name="android.adservices.AD_SERVICES_CONFIG" android:resource="@xml/gma_ad_services_config"/> <uses-permission android:name="android.permission.ACCESS_ADSERVICES_AD_ID"/> <uses-permission android:name="android.permission.ACCESS_ADSERVICES_ATTRIBUTION"/> <uses-permission android:name="android.permission.ACCESS_ADSERVICES_TOPICS"/>

but animate gives an error when try to build with these options:

-app.xml: error 402: Current Android sdk version doesn't support property as xml tag

If I remove options above I can build but app crashes...

from adobe-runtime-support.

ajwfrost avatar ajwfrost commented on June 1, 2024

Is it possible to move that property declaration inside the activity tag? It looks like ADT is unnecessarily restricting the use of this in other blocks (although, according to the Android documentation, it should be allowed elsewhere.. so we will work on this as a bug..)

from adobe-runtime-support.

hadisn avatar hadisn commented on June 1, 2024

Not possible, I tried but got ton of errors...

Here is same issue reported but no response from Distriqt: https://github.com/distriqt/ANE-Adverts/issues/554

from adobe-runtime-support.

marchbold avatar marchbold commented on June 1, 2024

We are looking into this one.

from adobe-runtime-support.

ajwfrost avatar ajwfrost commented on June 1, 2024

Can you please try with the attached ADT jar file, you can unzip this into the "lib" folder over the 50.2.4.5 release.
thanks

adt.zip

from adobe-runtime-support.

marchbold avatar marchbold commented on June 1, 2024

@ajwfrost Thanks for that, it correctly builds with the property tag now!

from adobe-runtime-support.

Related Issues (20)

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.