Giter VIP home page Giter VIP logo

alan-sdk-flutter's People

Contributors

aermilin avatar annmirosh avatar dvl-es avatar okolyachko avatar snyuryev avatar yurat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

alan-sdk-flutter's Issues

Alan button hide does not work

I want to hide the alan button in my project and activate/deactivate it programmatically with my own button (with activate/deactivate methods).
Every time I call to activate, the button is hidden and works fine, but when I call deactivate, the button appears again and the hide method does nothing.

Android Alan Button Issue

Alan Button disappears in release mode
flutter build apk --target-platform android-arm,android-arm64,android-x64 --split-per-abi

Error displayed:
Failed to add Alan button PlatformException(error, Subscriber class com.alan.alansdk.button.a and its super classes have no public methods with the @Subscribe annotation, null, m.a.a.e: Subscriber class com.alan.alansdk.button .a and its super classes have no public methods with the @Subscribe annotation

alan-sdk-flutter\examples\alan_simple_app>flutter run does not work.

hello just trying to get the simple working.

I am stuck with:
alan-sdk-flutter\examples\alan_simple_app>flutter run

Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/03 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/03 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/03 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
Warning: unexpected element (uri:"", local:"base-extension"). Expected elements are <{}codename>,<{}layoutlib>,<{}api-level>

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':package_info:compileDebugJavaWithJavac'.
> Failed to calculate the value of task ':package_info:compileDebugJavaWithJavac' property 'options.generatedSourceOutputDirectory'.
   > Querying the mapped value of map(java.io.File property(org.gradle.api.file.Directory, fixed(class org.gradle.api.internal.file.DefaultFilePropertyFactory$FixedDirectory, C:\working\flutter\alan-sdk-flutter\examples\alan_simple_app\build\package_info\generated\ap_generated_sources\debug\out)) org.gradle.api.internal.file.DefaultFilePropertyFactory$ToFileTransformer@703a40dc) before task ':package_info:compileDebugJavaWithJavac' has completed is not supported

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 13s
Running Gradle task 'assembleDebug'...                             14.7s
Exception: Gradle task assembleDebug failed with exit code 1

i had to update the sdk version, gradle, and the icons package. not sure what to do next to get the basics working again. I can create a PR if I can get it working.
master...davehorner:alan-sdk-flutter:master

Flutter IOS application crashes in the startup.

Flutter IOS application crashes in the startup.

Flutter 2.0.4 • channel stable • https://github.com/flutter/flutter.git
Framework • revision b1395592de (3 months ago) • 2021-04-01 14:25:01 -0700
Engine • revision 2dce47073a
Tools • Dart 2.12.2

IOS targeted version:  12.1


alan_voice: ^2.2.0

Fatal exception: main

Hello,

Code in Alan Studio on load and execute is:

//Is a Json with pokemon data same this:
project.pokemons = [
{
form: "Normal",
pokemon_id: 663,
pokemon_name: "Talonflame",
type: [
"Fire",
"Flying"
]
},
{
form: "Normal",
pokemon_id: 664,
pokemon_name: "Scatterbug",
type: [
"Bug"
]
},
...

onCreateProject(() => {
project.pokemonsdata = project.pokemons.map(p => ${p.pokemon_name}~${p.pokemon_id}).join('|');
console.log(project.pokemonsdata);
});

const userInput = context(() => {
console.log(project.pokemonsdata);
follow("$(POKEMON~ p:pokemonsdata)", p => p.resolve(p.POKEMON.value));
})

intent("Add (first|lead) (Poke|Pokemon) (1|one)", async p => {
p.play("What pokemon add?");
var pokemon = await p.then(userInput);
console.log(pokemon);
p.play({command: "pokemon1", value: pokemon});
});

When play a command with values return error:
"E/AndroidRuntime(29591): java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast to com.alan.alansdk.events.EventParsed$ParsedEntity
E/AndroidRuntime(29591): at com.alan.alansdk.button.AlanStateListener.onParsedEvent(:1)
E/AndroidRuntime(29591): at com.alan.alansdk.d.run(:6)
E/AndroidRuntime(29591): at android.os.Handler.handleCallback(Handler.java:938)
E/AndroidRuntime(29591): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(29591): at android.os.Looper.loop(Looper.java:236)
E/AndroidRuntime(29591): at android.app.ActivityThread.main(ActivityThread.java:8056)
E/AndroidRuntime(29591): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(29591): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)
E/AndroidRuntime(29591): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)"

Can you help me with the error? I don't know if the syntax is incorrect or an internal error.

Thks.

Alan Voice

I followed the official documentation to build a simple Alan Voice app. I did follow all the steps. But as soon as I click on the Alan voice button everything crahes down. The app gets closed automatically. Why is that so?

App crashing and alan not waking on hey alan call

Error

E/AndroidRuntime(15726): FATAL EXCEPTION: main
E/AndroidRuntime(15726): Process: com.example.ai_radio, PID: 15726
E/AndroidRuntime(15726): java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast to com.alan.alansdk.events.EventParsed$ParsedEntity
E/AndroidRuntime(15726): at com.alan.alansdk.button.AlanStateListener.onParsedEvent(:1)
E/AndroidRuntime(15726): at com.alan.alansdk.d.run(:6)
E/AndroidRuntime(15726): at android.os.Handler.handleCallback(Handler.java:790)
E/AndroidRuntime(15726): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(15726): at android.os.Looper.loop(Looper.java:192)
E/AndroidRuntime(15726): at android.app.ActivityThread.main(ActivityThread.java:6711)
E/AndroidRuntime(15726): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(15726): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549)
E/AndroidRuntime(15726): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:826)

script
AI_Radio_First_version_20211207_105241UTC.zip

repo link - https://github.com/Prateek0Srivastav/Radio-App if needed

code -

setUpAlan() {
AlanVoice.addButton(
"key/prod",
buttonAlign: AlanVoice.BUTTON_ALIGN_RIGHT);
AlanVoice.onCommand.add((command) {
debugPrint("got new command ${command.toString()}");
_handleCommand(command.data);
});
}

_handleCommand(Map<String, dynamic> response) {
switch (response["command"]) {
case "play":
_playMusic(_selectedRadio!.url);
break;

  case "play_channel":
    final id = response["id"];
    _audioPlayer.pause();
    MyRadio newRadio = radios!.firstWhere((element) => element.id == id);
    radios!.remove(newRadio);
    radios!.insert(0, newRadio);
    _playMusic(newRadio.url);
    break;

  case "stop":
    _audioPlayer.stop();
    break;

  case "next":
    final index = _selectedRadio!.id;
    MyRadio newRadio;
    if (index + 1 > radios!.length) {
      newRadio = radios!.firstWhere((element) => element.id == 1);
      radios!.remove(newRadio);
      radios!.insert(0, newRadio);
    } else {
      newRadio = radios!.firstWhere((element) => element.id == index + 1);
      radios!.remove(newRadio);
      radios!.insert(0, newRadio);
    }
    _playMusic(newRadio.url);
    break;

  case "prev":
    final index = _selectedRadio!.id;
    MyRadio newRadio;
    if (index - 1 <= 0) {
      newRadio =
          radios!.firstWhere((element) => element.id == radios!.length);
      radios!.remove(newRadio);
      radios!.insert(0, newRadio);
    } else {
      newRadio = radios!.firstWhere((element) => element.id == index - 1);
      radios!.remove(newRadio);
      radios!.insert(0, newRadio);
    }
    _playMusic(newRadio.url);
    break;

  default:
    print("Command was ${response["command"]}");
}

}

Android app crashing

I'm facing an issue with Flutter - Android. whenever I run this code, the app crashes.

AlanVoice.activate();
AlanVoice.playCommand('Play song');

and in the studio.alan.app, I added

intent('Play (song|music)', p => {
    p.play('Playing');
});
E/libc++abi( 6875): terminating with uncaught exception of type nlohmann::detail::parse_error: [json.exception.parse_error.101] parse error at line 1, column 17: syntax error while parsing value - invalid literal; last read: '"data":o'
F/libc    ( 6875): Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 6875 (sad.musicplayer), pid 6875 (sad.musicplayer)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/sdk_gphone_arm64/emulator_arm64:11/RSR1.210722.003/7604015:user/release-keys'
Revision: '0'
ABI: 'arm64'
Timestamp: 2022-07-20 20:29:56+0500
pid: 6875, tid: 6875, name: sad.musicplayer  >>> com.marsad.musicplayer <<<
uid: 10169
signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
Abort message: 'terminating with uncaught exception of type nlohmann::detail::parse_error: [json.exception.parse_error.101] parse error at line 1, column 17: syntax error while parsing value - invalid literal; last read: '"data":o''
    x0  0000000000000000  x1  0000000000001adb  x2  0000000000000006  x3  0000007fd1a42580
    x4  ff266e3921607360  x5  ff266e3921607360  x6  ff266e3921607360  x7  7f7f7f7f7f7f7f7f
    x8  00000000000000f0  x9  c9c3f95b4485235a  x10 0000000000000000  x11 ffffffc0fffffbdf
    x12 0000000000000001  x13 000015b42216f94a  x14 000c28cd66808000  x15 0000000029aaaaab
    x16 00000074e1e02c80  x17 00000074e1de43f0  x18 000000000000002d  x19 0000000000001adb
    x20 0000000000001adb  x21 00000000ffffffff  x22 ffffff80ffffffc8  x23 0000007fd1a427d0
    x24 0000007fd1a426b0  x25 0000007fd1a426f0  x26 00000071d2414238  x27 0000000000000001
    x28 7ff0000000000000  x29 0000007fd1a42600
    lr  00000074e1d97e20  sp  0000007fd1a42560  pc  00000074e1d97e4c  pst 0000000000001000
backtrace:
      #00 pc 000000000004de4c  /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: ac8f7173c886715a2f2fec67246e21da)
      #01 pc 00000000002ca5d0  /data/app/~~rPBDHKGPW-E97A7I9yPo-A==/com.marsad.musicplayer-H0Q9axC1EPo8oNIcr_TzaQ==/lib/arm64/libtensorflowlite_jni.so
      #02 pc 00000000002ca734  /data/app/~~rPBDHKGPW-E97A7I9yPo-A==/com.marsad.musicplayer-H0Q9axC1EPo8oNIcr_TzaQ==/lib/arm64/libtensorflowlite_jni.so
      #03 pc 00000000002c79dc  /data/app/~~rPBDHKGPW-E97A7I9yPo-A==/com.marsad.musicplayer-H0Q9axC1EPo8oNIcr_TzaQ==/lib/arm64/libtensorflowlite_jni.so
      #04 pc 00000000002c70c0  /data/app/~~rPBDHKGPW-E97A7I9yPo-A==/com.marsad.musicplayer-H0Q9axC1EPo8oNIcr_TzaQ==/lib/arm64/libtensorflowlite_jni.so
      #05 pc 00000000002c7040  /data/app/~~rPBDHKGPW-E97A7I9yPo-A==/com.marsad.musicplayer-H0Q9axC1EPo8oNIcr_TzaQ==/lib/arm64/libtensorflowlite_jni.so (__cxa_throw+120)
 #06 pc 000000000002f2fc  /data/app/~~rPBDHKGPW-E97A7I9yPo-A==/com.marsad.musicplayer-H0Q9axC1EPo8oNIcr_TzaQ==/lib/arm64/libnative-lib.so (bool nlohmann::detail::parser<nlohmann::basic_json<std::__ndk1::map, std::__ndk1::vector, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, bool, long, unsigned long, double, std::__ndk1::allocator, nlohmann::adl_serializer, std::__ndk1::vector<unsigned char, std::__ndk1::allocator<unsigned char> > >, nlohmann::detail::iterator_input_adapter<char const*> >::sax_parse_internal<nlohmann::detail::json_sax_dom_parser<nlohmann::basic_json<std::__ndk1::map, std::__ndk1::vector, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, bool, long, unsigned long, double, std::__ndk1::allocator, nlohmann::adl_serializer, std::__ndk1::vector<unsigned char, std::__ndk1::allocator<unsigned char> > > > >(nlohmann::detail::json_sax_dom_parser<nlohmann::basic_json<std::__ndk1::map, std::__ndk1::vector, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, bool, long, unsigned long, double, std::__ndk1::allocator, nlohmann::adl_serializer, std::__ndk1::vector<unsigned char, std::__ndk1::allocator<unsigned char> > > >*)+3052) (BuildId: cce7a702bd8c454dcd9dab8fc04f91c9edf29f55)
      #07 pc 000000000002a80c  /data/app/~~rPBDHKGPW-E97A7I9yPo-A==/com.marsad.musicplayer-H0Q9axC1EPo8oNIcr_TzaQ==/lib/arm64/libnative-lib.so (nlohmann::detail::parser<nlohmann::basic_json<std::__ndk1::map, std::__ndk1::vector, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, bool, long, unsigned long, double, std::__ndk1::allocator, nlohmann::adl_serializer, std::__ndk1::vector<unsigned char, std::__ndk1::allocator<unsigned char> > >, nlohmann::detail::iterator_input_adapter<char const*> >::parse(bool, nlohmann::basic_json<std::__ndk1::map, std::__ndk1::vector, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, bool, long, unsigned long, double, std::__ndk1::allocator, nlohmann::adl_serializer, std::__ndk1::vector<unsigned char, std::__ndk1::allocator<unsigned char> > >&)+124) (BuildId: cce7a702bd8c454dcd9dab8fc04f91c9edf29f55)
      #08 pc 0000000000025fb4  /data/app/~~rPBDHKGPW-E97A7I9yPo-A==/com.marsad.musicplayer-H0Q9axC1EPo8oNIcr_TzaQ==/lib/arm64/libnative-lib.so (nlohmann::basic_json<std::__ndk1::map, std::__ndk1::vector, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, bool, long, unsigned long, double, std::__ndk1::allocator, nlohmann::adl_serializer, std::__ndk1::vector<unsigned char, std::__ndk1::allocator<unsigned char> > > nlohmann::basic_json<std::__ndk1::map, std::__ndk1::vector, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, bool, long, unsigned long, double, std::__ndk1::allocator, nlohmann::adl_serializer, std::__ndk1::vector<unsigned char, std::__ndk1::allocator<unsigned char> > >::parse<char const*&>(char const*&, std::__ndk1::function<bool (int, nlohmann::detail::parse_event_t, nlohmann::basic_json<std::__ndk1::map, std::__ndk1::vector, std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >, bool, long, unsigned long, double, std::__ndk1::allocator, nlohmann::adl_serializer, std::__ndk1::vector<unsigned char, std::__ndk1::allocator<unsigned char> > >&)>, bool, bool)+196) (BuildId: cce7a702bd8c454dcd9dab8fc04f91c9edf29f55)
      #09 pc 0000000000026a68  /data/app/~~rPBDHKGPW-E97A7I9yPo-A==/com.marsad.musicplayer-H0Q9axC1EPo8oNIcr_TzaQ==/lib/arm64/libnative-lib.so (Java_com_alan_alansdk_Alan_callScript+144) (BuildId: cce7a702bd8c454dcd9dab8fc04f91c9edf29f55)
 #10 pc 000000000013ced4  /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+148) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #11 pc 0000000000133564  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #12 pc 00000000001a8a78  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #13 pc 0000000000318330  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+376) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #14 pc 000000000030e65c  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+996) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #15 pc 000000000067eb70  /apex/com.android.art/lib64/libart.so (MterpInvokeDirect+576) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #16 pc 000000000012d914  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_direct+20) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #17 pc 0000000000297278  [anon:dalvik-classes.dex extracted in memory from /data/app/~~rPBDHKGPW-E97A7I9yPo-A==/com.marsad.musicplayer-H0Q9axC1EPo8oNIcr_TzaQ==/base.apk] (com.alan.alansdk.Alan.access$800)
      #18 pc 000000000067f6f0  /apex/com.android.art/lib64/libart.so (MterpInvokeStatic+1224) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #19 pc 000000000012d994  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_static+20) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #20 pc 0000000000296978  [anon:dalvik-classes.dex extracted in memory from /data/app/~~rPBDHKGPW-E97A7I9yPo-A==/com.marsad.musicplayer-H0Q9axC1EPo8oNIcr_TzaQ==/base.apk] (com.alan.alansdk.Alan$6.run+16)
      #21 pc 0000000000305c58  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.8100235316906539105)+268) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #22 pc 000000000066b1fc  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+780) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #23 pc 000000000013cff8  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #24 pc 0000000002021dc4  /memfd:jit-cache (deleted) (offset 0x2000000) (android.os.Handler.handleCallback+68)
      #25 pc 00000000020239f0  /memfd:jit-cache (deleted) (offset 0x2000000) (android.os.Handler.dispatchMessage+64)
      #26 pc 0000000000133564  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #27 pc 00000000001a8a78  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #28 pc 0000000000318330  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+376) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #29 pc 000000000030e65c  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+996) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #30 pc 000000000067c4f4  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+848) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #31 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #32 pc 0000000000396dc6  /system/framework/framework.jar (offset 0x92b000) (android.os.Looper.loop+482)
      #33 pc 0000000000305c58  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.8100235316906539105)+268) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #34 pc 000000000030dc48  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+200) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #35 pc 000000000030f030  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, true>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1772) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #36 pc 0000000000177f40  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<true, false>(art::interpreter::SwitchImplContext*)+57848) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #37 pc 000000000013f7d8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #38 pc 00000000001a180c  /system/framework/framework.jar (android.app.ActivityThread.main)
      #39 pc 0000000000305d60  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.8100235316906539105)+532) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #40 pc 000000000066b1fc  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+780) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #41 pc 000000000013cff8  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #42 pc 00000000001337e8  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #43 pc 00000000001a8a94  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+228) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #44 pc 00000000005556f8  /apex/com.android.art/lib64/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1364) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #45 pc 00000000004d4f04  /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #46 pc 00000000000896f4  /apex/com.android.art/javalib/arm64/boot.oat (art_jni_trampoline+180) (BuildId: 13577ce71153c228ecf0eb73fc39f45010d487f8)
      #47 pc 0000000000133564  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #48 pc 00000000001a8a78  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #49 pc 0000000000318330  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+376) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #50 pc 000000000030e65c  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+996) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #51 pc 000000000067c4f4  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+848) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #52 pc 000000000012d814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #53 pc 0000000000449626  /system/framework/framework.jar (offset 0x125d000) (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+22)
      #54 pc 0000000000305c58  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.8100235316906539105)+268) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #55 pc 000000000066b1fc  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+780) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #56 pc 000000000013cff8  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #57 pc 0000000000897608  /system/framework/arm64/boot-framework.oat (com.android.internal.os.ZygoteInit.main+2280) (BuildId: 339e94a38e629aea381d1192e0258d731e293228)
      #58 pc 00000000001337e8  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #59 pc 00000000001a8a94  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+228) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #60 pc 0000000000554134  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, std::__va_list)+448) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #61 pc 00000000005545e8  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+92) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #62 pc 0000000000438b1c  /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+656) (BuildId: b628ec1e4df42966356fcd82bcb1136d)
      #63 pc 0000000000099424  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+124) (BuildId: dc13c3ae89f2044ec9e55326de275210)
      #64 pc 00000000000a08b0  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+836) (BuildId: dc13c3ae89f2044ec9e55326de275210)
      #65 pc 0000000000003580  /system/bin/app_process64 (main+1336) (BuildId: 3254c0fd94c1b04edc39169c6c635aac)
      #66 pc 0000000000049418  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+108) (BuildId: ac8f7173c886715a2f2fec67246e21da)

Null safety support for flutter

Could you migrate your project to null safety, your package is awesome but i can't use it because it doesn't support null safety.

Alan Button and working disappear in Flutter release aok

Alan Button disappears in Flutter release apk

I almost perfectly implemented everything and works on debug mode on android 8/9 device something sticks with Android 10 . More strange when I see the whole Alan functionality with its button completely vanished from the release apk of the Flutter integrated project

alan_voice does not support null safety in flutter

but still if you want to use alan in your application, you can run your app without null safety.
put //@Dart=2.9 as the first line in main.dart file (even before the import statements) and then rebuild you application once again

Title: Update ShrineApp Example for Latest Flutter Compatibility

Hello Alan AI,

I hope this message finds you well. I am writing to bring to your attention that the ShrineApp example, which is an invaluable resource for the Flutter community, seems to be outdated in terms of compatibility with the latest Flutter updates.

The current version of the ShrineApp is built on an older version of Flutter and uses deprecated properties like subhead in the TextTheme class, which have been removed or renamed in the recent Flutter SDK releases. This makes it impossible to run the app without errors using the latest stable Flutter SDK.

Updating the ShrineApp will not only help developers who are currently relying on this project for learning and reference but also ensure the continuity of the app as a showcase of best practices in Flutter development.

I, and surely many others, would appreciate your consideration of this request. Your efforts in maintaining this project are highly valued by the community, and an update would reaffirm the app's relevance and utility.

Thank you for your time and for your contributions to the Flutter community.

Best regards,
Tommy Chow

Flutter iOS and Android App Build failed

I created a fresh Flutter project and integrated the alan_voice flutter package
Both iOS and Android projects are getting build error

  1. iOS:
    Unsupported Swift architecture, Could not build Alan SDK

iOS >= 15, XCode 14, Ventura 13.3.1, Apple M1, iOS Deployment traget & Cocoapod iOS version - iOS 15

  1. Android:

Target SDK 33, Min SDK 23, ext.kotlin_version = '1.8.21'

A problem occurred evaluating project ':alan_voice'.

PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

  • Try:

Run with --info or --debug option to get more log output.
Run with --scan to get full insights.

  • Exception is:
    org.gradle.api.GradleScriptException: A problem occurred evaluating project ':alan_voice'.
    at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:93)
    at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.lambda$apply$0(DefaultScriptPluginFactory.java:133)
    at org.gradle.configuration.ProjectScriptTarget.addConfiguration(ProjectScriptTarget.java:79)
    at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:136)
    at org.gradle.configuration.BuildOperationScriptPlugin$1.run(BuildOperationScriptPlugin.java:65)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
    at org.gradle.configuration.BuildOperationScriptPlugin.lambda$apply$0(BuildOperationScriptPlugin.java:62)
    at org.gradle.configuration.internal.DefaultUserCodeApplicationContext.apply(DefaultUserCodeApplicationContext.java:44)
    at org.gradle.configuration.BuildOperationScriptPlugin.apply(BuildOperationScriptPlugin.java:62)
    at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$applyToMutableState$0(DefaultProjectStateRegistry.java:351)
    at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.fromMutableState(DefaultProjectStateRegistry.java:369)
    at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.applyToMutableState(DefaultProjectStateRegistry.java:350)
    at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:42)
    at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:26)
    at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:35)
    at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.lambda$run$0(LifecycleProjectEvaluator.java:109)
    at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$applyToMutableState$0(DefaultProjectStateRegistry.java:351)
    at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$fromMutableState$1(DefaultProjectStateRegistry.java:374)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withReplacedLocks(DefaultWorkerLeaseService.java:345)
    at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.fromMutableState(DefaultProjectStateRegistry.java:374)
    at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.applyToMutableState(DefaultProjectStateRegistry.java:350)
    at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.run(LifecycleProjectEvaluator.java:100)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
    at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:72)
    at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:761)
    at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:152)
    at org.gradle.api.internal.project.ProjectLifecycleController.lambda$ensureSelfConfigured$1(ProjectLifecycleController.java:63)
    at org.gradle.internal.model.StateTransitionController.lambda$doTransition$12(StateTransitionController.java:236)
    at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:247)
    at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:235)
    at org.gradle.internal.model.StateTransitionController.lambda$maybeTransitionIfNotCurrentlyTransitioning$9(StateTransitionController.java:196)
    at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:34)
    at org.gradle.internal.model.StateTransitionController.maybeTransitionIfNotCurrentlyTransitioning(StateTransitionController.java:192)
    at org.gradle.api.internal.project.ProjectLifecycleController.ensureSelfConfigured(ProjectLifecycleController.java:63)
    at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.ensureConfigured(DefaultProjectStateRegistry.java:325)
    at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:33)
    at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:49)
    at org.gradle.configuration.DefaultProjectsPreparer.prepareProjects(DefaultProjectsPreparer.java:50)
    at org.gradle.configuration.BuildTreePreparingProjectsPreparer.prepareProjects(BuildTreePreparingProjectsPreparer.java:64)
    at org.gradle.configuration.BuildOperationFiringProjectsPreparer$ConfigureBuild.run(BuildOperationFiringProjectsPreparer.java:52)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
    at org.gradle.configuration.BuildOperationFiringProjectsPreparer.prepareProjects(BuildOperationFiringProjectsPreparer.java:40)
    at org.gradle.initialization.VintageBuildModelController.lambda$prepareProjects$3(VintageBuildModelController.java:89)
    at org.gradle.internal.model.StateTransitionController.lambda$doTransition$12(StateTransitionController.java:236)
    at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:247)
    at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:235)
    at org.gradle.internal.model.StateTransitionController.lambda$transitionIfNotPreviously$10(StateTransitionController.java:210)
    at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:34)
    at org.gradle.internal.model.StateTransitionController.transitionIfNotPreviously(StateTransitionController.java:206)
    at org.gradle.initialization.VintageBuildModelController.prepareProjects(VintageBuildModelController.java:89)
    at org.gradle.initialization.VintageBuildModelController.getConfiguredModel(VintageBuildModelController.java:64)
    at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$withProjectsConfigured$1(DefaultBuildLifecycleController.java:114)
    at org.gradle.internal.model.StateTransitionController.lambda$notInState$3(StateTransitionController.java:143)
    at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44)
    at org.gradle.internal.model.StateTransitionController.notInState(StateTransitionController.java:139)
    at org.gradle.internal.build.DefaultBuildLifecycleController.withProjectsConfigured(DefaultBuildLifecycleController.java:114)
    at org.gradle.internal.build.DefaultBuildToolingModelController.locateBuilderForTarget(DefaultBuildToolingModelController.java:57)
    at org.gradle.internal.buildtree.DefaultBuildTreeModelCreator$DefaultBuildTreeModelController.lambda$locateBuilderForTarget$0(DefaultBuildTreeModelCreator.java:73)
    at org.gradle.internal.build.DefaultBuildLifecycleController.withToolingModels(DefaultBuildLifecycleController.java:174)
    at org.gradle.internal.build.AbstractBuildState.withToolingModels(AbstractBuildState.java:118)
    at org.gradle.internal.buildtree.DefaultBuildTreeModelCreator$DefaultBuildTreeModelController.locateBuilderForTarget(DefaultBuildTreeModelCreator.java:73)
    at org.gradle.internal.buildtree.DefaultBuildTreeModelCreator$DefaultBuildTreeModelController.locateBuilderForDefaultTarget(DefaultBuildTreeModelCreator.java:68)
    at org.gradle.tooling.internal.provider.runner.DefaultBuildController.getTarget(DefaultBuildController.java:157)
    at org.gradle.tooling.internal.provider.runner.DefaultBuildController.getModel(DefaultBuildController.java:101)
    at org.gradle.tooling.internal.consumer.connection.ParameterAwareBuildControllerAdapter.getModel(ParameterAwareBuildControllerAdapter.java:39)
    at org.gradle.tooling.internal.consumer.connection.UnparameterizedBuildController.getModel(UnparameterizedBuildController.java:113)
    at org.gradle.tooling.internal.consumer.connection.NestedActionAwareBuildControllerAdapter.getModel(NestedActionAwareBuildControllerAdapter.java:31)
    at org.gradle.tooling.internal.consumer.connection.UnparameterizedBuildController.findModel(UnparameterizedBuildController.java:97)
    at org.gradle.tooling.internal.consumer.connection.NestedActionAwareBuildControllerAdapter.findModel(NestedActionAwareBuildControllerAdapter.java:31)
    at org.gradle.tooling.internal.consumer.connection.UnparameterizedBuildController.findModel(UnparameterizedBuildController.java:81)
    at org.gradle.tooling.internal.consumer.connection.NestedActionAwareBuildControllerAdapter.findModel(NestedActionAwareBuildControllerAdapter.java:31)
    at org.gradle.tooling.internal.consumer.connection.UnparameterizedBuildController.findModel(UnparameterizedBuildController.java:66)
    at org.gradle.tooling.internal.consumer.connection.NestedActionAwareBuildControllerAdapter.findModel(NestedActionAwareBuildControllerAdapter.java:31)
    at org.jetbrains.plugins.gradle.model.ProjectImportAction.execute(ProjectImportAction.java:125)

Could someone please help us?

Thanks,
Harish

IOS build failed

Uncategorized (Xcode): Command CompileSwiftSources failed with a nonzero exit code

Error (Xcode): Undefined symbol: OBJC_CLASS$_AlanText

Error (Xcode): Undefined symbol: OBJC_CLASS$_AlanButton

Error (Xcode): Undefined symbol: OBJC_CLASS$_AlanConfig

Error (Xcode): Undefined symbol: OBJC_CLASS$_AlanLog

Android 14 (API 34) instant crash

Please add support for Android 14 (API 34)

One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts

RemoteException
Remote stack trace:
at com.android.server.am.ActivityManagerService.registerReceiverWithFeature(ActivityManagerService.java:16590)
at android.app.IActivityManager$Stub.onTransact$registerReceiverWithFeature$(IActivityManager.java:11530)
at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:2928)
at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3195)
at android.os.Binder.execTransactInternal(Binder.java:1375)

Знімок екрана 2024-04-16 о 23 19 25

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.