Coder Social home page Coder Social logo

fluttercommunity / flutter_contacts Goto Github PK

View Code? Open in Web Editor NEW
153.0 11.0 69.0 2.11 MB

Contacts Service - A Flutter plugin to retrieve and manage contacts on Android and iOS devices. Maintainer: @lukasgit

Home Page: https://pub.dev/packages/contacts_service

License: MIT License

Java 39.62% Swift 18.68% Objective-C 0.45% Dart 39.39% Ruby 1.86%

flutter_contacts's Introduction

flutter_contacts's People

Contributors

bcko avatar budo385 avatar clovisnicolas avatar freewheelnat avatar jeroen-meijer avatar lukasgit avatar maleandr avatar mmcc007 avatar monkeywithacupcake avatar robdeans avatar sdolski avatar trinqk avatar zoechi 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  avatar

flutter_contacts's Issues

Request: Avatar (ie Thumbnail)

Hi there,
I am aware providing thumbnails is on your to do list, I'm opening this issue to find out if you want help with the Android code for this.

I've done an Android app, using Flutter, where I fetch contacts including their avatars, so I have Android code I could add to this project, but I don't have iOS code, and I don't know iOS, so my PR would only be for Android.

The app I have done it for is Preset SMSs https://play.google.com/store/apps/details?id=net.cogitas.presetsms If you install it and add a Preset SMS, it will open another screen and it should show you list of contacts with avatars when available.

Let me know if you want help on this. I am currently working on a Flutter (Android only for now) project for a client and we need avatars for contacts. We are currently using your plugin, but lack of avatar is blocking us, so either I'll write our own plugin, or I can help you with avatars for Android for your plugin (which would be more useful for other Flutter developers!).

Takes so much time comparing native android

To fetch my contact native android code take almost no time but this package takes 5-10 sec to load my contact. That's too much time.

  getContacts() async{
var contacts = await ContactsService.getContacts();

setState(() {
  _contacts = contacts;

  Navigator.pushReplacement(
      context,
      MaterialPageRoute(
      builder: (context) => ChatHome(user: widget.user, contacts: _contacts,))
  );
});

}

The specified Android SDK Build Tools version (25.0.3) is ignored

Hello I have one trouble with the next line

https://github.com/clovisnicolas/flutter_contacts/blob/f62e1e7b52476c85f71afe93d363438f6b839bdd/android/build.gradle#L30

The specified Android SDK Build Tools version (25.0.3) is ignored, as it is below the minimum supported version (28.0.3) for Android Gradle Plugin 3.2.1.
Android SDK Build Tools 28.0.3 will be used.
To suppress this warning, remove "buildToolsVersion '25.0.3'" from your build.gradle file, as each version of the Android Gradle Plugin now has a default version of the build tools.

PlatformException on ios (simulator) with Flutter beta 3, dart 2 when adding a contact

First I would like to thank you for your great work and writing this package. I think it is very helpful to a lot of developers.

I upgraded yesterday to flutter beta 3 and the latest version of the contacts_service plugin. I tried the example on both ios (simulator) and android (first pixel). On android everything works fine. On ios (iPhone X simulator), I get a PlatformException error when adding a new contact (see error below). I have included the flutter doctor output bellow the error. On android adding a contact works fine. On both ios and android displaying the contacts works fine. Of course in the simulator the app has contacts access. If you need any more input, please let me know.

[VERBOSE-2:dart_error.cc(16)] Unhandled exception:
PlatformException(, Failed to add contact, null)
#0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:547:7)
#1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:279:18)

#2 ContactsService.addContact (package:contacts_service/contacts_service.dart:20:57)
#3 _AddContactPageState.build. (file:///Users/niek/Sourcetree/flutter_contactsn/example/lib/main.dart:170:31)
#4 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:494:14)
#5 _InkResponseState.build. (package:flutter/src/material/ink_well.dart:549:30)
#6 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)
#7 TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:161:9)
#8 TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:94:7)

Nicolaass-MacBook-Pro:example niek$ flutter doctor -v
[✓] Flutter (Channel beta, v0.3.2, on Mac OS X 10.13.4 17E202, locale en-NL)
• Flutter version 0.3.2 at /Users/niek/Library/flutter
• Framework revision 44b7e7d3f4 (4 weeks ago), 2018-04-20 01:02:44 -0700
• Engine revision 09d05a3891
• Dart version 2.0.0-dev.48.0.flutter-fe606f890b

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
• Android SDK at /Users/niek/Library/Android/sdk/
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-27, build-tools 27.0.3
• ANDROID_HOME = /Users/niek/Library/Android/sdk/
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)
• All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.3.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 9.3.1, Build version 9E501
• ios-deploy 1.9.2
• CocoaPods version 1.4.0

[✓] Android Studio (version 3.0)
• Android Studio at /Applications/Android Studio.app/Contents
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)

[✓] VS Code (version 1.23.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Dart Code extension version 2.12.1

[✓] Connected devices (2 available)
• Pixel • FA69K0311726 • android-arm64 • Android 8.1.0 (API 27)
• iPhone X • 266F13A9-C30F-48CE-9303-7F2C32BE2D6E • ios • iOS 11.3 (simulator)

• No issues found!

IOS build fails without using use_frameworks! in Podfile

Cannot build on IOS

Xcode's output:

/Users/vovabeloded/Downloads/flutter/.pub-cache/hosted/pub.dartlang.org/contacts_service-0.0.8/ios/Classes/ContactsServicePlugin.m:4:17: error: definition of 'ContactsServicePlugin' must be imported from module 'contacts_service.ContactsServicePlugin' before it is required
@implementation ContactsServicePlugin
^
In module 'contacts_service' imported from /Users/vovabeloded/Downloads/flutter/.pub-cache/hosted/pub.dartlang.org/contacts_service-0.0.8/ios/Classes/ContactsServicePlugin.m:2:
/Users/vovabeloded/Dev/fbh/fbh_app/build/ios/Debug-iphonesimulator/contacts_service/contacts_service.framework/Headers/ContactsServicePlugin.h:3:12: note: previous definition is here
@interface ContactsServicePlugin : NSObject
^
/Users/vovabeloded/Downloads/flutter/.pub-cache/hosted/pub.dartlang.org/contacts_service-0.0.8/ios/Classes/ContactsServicePlugin.m:6:4: warning: 'SwiftContactsServicePlugin' is only available on iOS 9.0 or newer [-Wunguarded-availability]
[SwiftContactsServicePlugin registerWithRegistrar:registrar];
^~~~~~~~~~~~~~~~~~~~~~~~~~
In module 'contacts_service' imported from /Users/vovabeloded/Downloads/flutter/.pub-cache/hosted/pub.dartlang.org/contacts_service-0.0.8/ios/Classes/ContactsServicePlugin.m:2:
/Users/vovabeloded/Dev/fbh/fbh_app/build/ios/Debug-iphonesimulator/contacts_service/contacts_service.framework/Headers/contacts_service-Swift.h:189:12: note: 'SwiftContactsServicePlugin' has been explicitly marked partial here
@interface SwiftContactsServicePlugin : NSObject
^
/Users/vovabeloded/Downloads/flutter/.pub-cache/hosted/pub.dartlang.org/contacts_service-0.0.8/ios/Classes/ContactsServicePlugin.m:6:4: note: enclose 'SwiftContactsServicePlugin' in an @available check to silence this warning
[SwiftContactsServicePlugin registerWithRegistrar:registrar];
^~~~~~~~~~~~~~~~~~~~~~~~~~

java.lang.SecurityException: Permission Denial

I added <uses-permission android:name="android.permission.READ_CONTACTS" /> to AndroidManifest.xml, but I still get

+2189 ms] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): Failed to handle method call
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): java.lang.SecurityException: Permission Denial: opening provider com.android.providers.contacts.ContactsProvider2 from ProcessRecord{cee4cc6 20983:com.lookatyou.lookatmybaby/u0a377} (pid=20983, uid=10377) requires android.permission.READ_CONTACTS or android.permission.WRITE_CONTACTS
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): 	at android.os.Parcel.readException(Parcel.java:2004)
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): 	at android.os.Parcel.readException(Parcel.java:1950)
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): 	at android.app.IActivityManager$Stub$Proxy.getContentProvider(IActivityManager.java:4758)
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): 	at android.app.ActivityThread.acquireProvider(ActivityThread.java:5836)
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): 	at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2526)
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): 	at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1780)
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): 	at android.content.ContentResolver.query(ContentResolver.java:738)
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): 	at android.content.ContentResolver.query(ContentResolver.java:704)
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): 	at android.content.ContentResolver.query(ContentResolver.java:662)
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): 	at flutter.plugins.contactsservice.contactsservice.ContactsServicePlugin.getCursor(ContactsServicePlugin.java:123)
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): 	at flutter.plugins.contactsservice.contactsservice.ContactsServicePlugin.getContacts(ContactsServicePlugin.java:107)
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): 	at flutter.plugins.contactsservice.contactsservice.ContactsServicePlugin.onMethodCall(ContactsServicePlugin.java:49)
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:191)
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): 	at io.flutter.view.FlutterNativeView.handlePlatformMessage(FlutterNativeView.java:136)
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): 	at android.os.MessageQueue.nativePollOnce(Native Method)
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): 	at android.os.MessageQueue.next(MessageQueue.java:325)
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): 	at android.os.Looper.loop(Looper.java:142)
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): 	at android.app.ActivityThread.main(ActivityThread.java:6494)
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): 	at java.lang.reflect.Method.invoke(Native Method)
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
[        ] E/MethodChannel#github.com/clovisnicolas/flutter_contacts(20983): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
[  +25 ms] I/flutter (20983): 598 2018-04-05 15:28:39.239197 SEVERE lookatmybaby_flutter.sentry_error_reporter: 
[   +1 ms] I/flutter (20983):     error: PlatformException(error, Permission Denial: opening provider com.android.providers.contacts.ContactsProvider2 from ProcessRecord{cee4cc6 20983:com.lookatyou.lookatmybaby/u0a377} (pid=20983, uid=10377) requires android.permission.READ_CONTACTS or android.permission.WRITE_CONTACTS, null)
[   +4 ms] I/flutter (20983): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:544:7)
[        ] I/flutter (20983): #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:154:18)
[        ] I/flutter (20983): <asynchronous suspension>
[        ] I/flutter (20983): #2      ContactsService.getContacts (package:contacts_service/contacts_service.dart:13:45)
[        ] I/flutter (20983): <asynchronous suspension>
[        ] I/flutter (20983): #3      InvitationDaoFirebase.loadContacts (package:lookatmybaby_flutter/src/server_api_firebase/invitation_dao_firebase.dart:140:50)
[        ] I/flutter (20983): <asynchronous suspension>
[        ] I/flutter (20983): #4      new InvitationController (package:lookatmybaby_shared/src/client/controller/invitation_controller.dart:27:26)
[        ] I/flutter (20983): #5      AppController.invitationController (package:lookatmybaby_shared/src/client/controller/app_controller.dart:241:37)
[        ] I/flutter (20983): #6      _InvitePeopleScreenState.controller (package:lookatmybaby_flutter/widgets/screens/invite_people_screen/invite_people_screen.dart:27:56)
[        ] I/flutter (20983): #7      ScreenState._buildAppBarCallback (package:lookatmybaby_flutter/widgets/generic_widgets/screen_state.dart:134:16)
[        ] I/flutter (20983): #8      SearchBar.bu
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel dev, v0.2.2-pre.7, on Mac OS X 10.13.3 17D102, locale en-AT)
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[✓] iOS toolchain - develop for iOS devices (Xcode 9.3)
[✓] Android Studio (version 3.1)
[✓] IntelliJ IDEA Ultimate Edition (version 2018.1)
[✓] Connected devices (2 available)

Do you have any idea how to fix that?

Issue getting contacts on android emulator, android physical devices and ios devices

I am having issue using this plugin on android. it crashes after it has gotten the contacts. It works fine on ios.

see my trace below

D/AndroidRuntime(11912): Shutting down VM
E/AndroidRuntime(11912): FATAL EXCEPTION: main
E/AndroidRuntime(11912): Process: com.appzonegroup.zone, PID: 11912
E/AndroidRuntime(11912): java.lang.IllegalStateException: Reply already submitted
E/AndroidRuntime(11912): at io.flutter.view.FlutterNativeView$1.reply(FlutterNativeView.java:146)
E/AndroidRuntime(11912): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.success(MethodChannel.java:194)
E/AndroidRuntime(11912): at flutter.plugins.contactsservice.contactsservice.ContactsServicePlugin$GetContactsTask.onPostExecute(ContactsServicePlugin.java:134)
E/AndroidRuntime(11912): at flutter.plugins.contactsservice.contactsservice.ContactsServicePlugin$GetContactsTask.onPostExecute(ContactsServicePlugin.java:115)
E/AndroidRuntime(11912): at android.os.AsyncTask.finish(AsyncTask.java:667)
E/AndroidRuntime(11912): at android.os.AsyncTask.-wrap1(AsyncTask.java)
E/AndroidRuntime(11912): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:684)
E/AndroidRuntime(11912): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(11912): at android.os.Looper.loop(Looper.java:154)
E/AndroidRuntime(11912): at android.app.ActivityThread.main(ActivityThread.java:6816)
E/AndroidRuntime(11912): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(11912): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1563)
E/AndroidRuntime(11912): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1451)

Cant Add Contacts

Your add contact example is one line, with no guide on how to initialize the contact.

Looking at the source, I think my below code should work, but it fails with below error. Any idea on how I'm doing wrong?

(Tried on Android 9 && Android 8)

Code:

import 'package:contacts_service/contacts_service.dart';
import 'dart:async';

Future<void> generateContact(String name, String phone) async {
    Item phoneNumber = Item.fromMap({
      "label": "mobile",
      "phone": phone
    });
    await ContactsService.addContact(Contact(phones: [phoneNumber], givenName: name, familyName: "SOME DATA"));
}

Error:

E/flutter (23087): [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter (23087): FormatException: Invalid envelope
E/flutter (23087): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:549:7)
E/flutter (23087): #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:279:18)
E/flutter (23087): <asynchronous suspension>
E/flutter (23087): #2      ContactsService.addContact (package:contacts_service/contacts_service.dart:18:16)
E/flutter (23087): #3      generateContact (package:annuitycheck/api/address.dart:9:27)
E/flutter (23087): <asynchronous suspension>
E/flutter (23087): #4      HomePageState.generateCard.<anonymous closure> (package:annuitycheck/pages/home.dart:45:21)
E/flutter (23087): #5      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:494:14)
E/flutter (23087): #6      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:549:30)
E/flutter (23087): #7      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)
E/flutter (23087): #8      TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:161:9)
E/flutter (23087): #9      TapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:123:7)
E/flutter (23087): #10     GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:156:27)
E/flutter (23087): #11     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:147:20)
E/flutter (23087): #12     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:121:22)
E/flutter (23087): #13     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:101:7)
E/flutter (23087): #14     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:64:7)
E/flutter (23087): #15     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:48:7)
E/flutter (23087): #16     _invoke1 (dart:ui/hooks.dart:134:13)
E/flutter (23087): #17     _dispatchPointerDataPacket (dart:ui/hooks.dart:91:5)

MissingPluginException(No implementation found for method getContacts on channel github.com/clovisnicolas/flutter_contacts)

MissingPluginException(No implementation found for method getContacts on channel github.com/clovisnicolas/flutter_contacts)
E/flutter (11181): #0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:278:7)
E/flutter (11181):
E/flutter (11181): #1 ContactsService.getContacts (package:contacts_service/contacts_service.dart:12:40)
E/flutter (11181):
E/flutter (11181): #2 _MyAppState.initPlatformState (file:///C:/Users/india/AndroidStudioProjects/politics/lib/referscreencontactsfromphone.dart:59:42)
E/flutter (11181):
E/flutter (11181): #3 _MyAppState.initState (file:///C:/Users/india/AndroidStudioProjects/politics/lib/referscreencontactsfromphone.dart:53:5)
E/flutter (11181): #4 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3751:58)
E/flutter (11181): #5 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
E/flutter (11181): #6 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
E/flutter (11181): #7 Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
E/flutter (11181): #8 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
E/flutter (11181): #9 Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
E/flutter (11181): #10 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
E/flutter (11181): #11 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
E/flutter (11181): #12 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
E/flutter (11181): #13 Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
E/flutter (11181): #14 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4654:14)
E/flutter (11181): #15 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
E/flutter (11181): #16 Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
E/flutter (11181): #17 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
E/flutter (11181): #18 Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
E/flutter (11181): #19 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
E/flutter (11181): #20 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
E/flutter (11181): #21 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
E/flutter (11181): #22 Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
E/flutter (11181): #23 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
E/flutter (11181): #24 Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
E/flutter (11181): #25 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
E/flutter (11181): #26 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
E/flutter (11181): #27 ParentDataElement.mount (package:flutter/src/widgets/framework.dart:3955:11)
E/flutter (11181): #28 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
E/flutter (11181): #29 Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
E/flutter (11181): #30 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3653:16)
E/flutter (11181): #31 Element.rebuild (package:flutter/src/widgets/framework.dart:3495:5)
E/flutter (11181): #32 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3622:5)
E/flutter (11181): #33 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3769:11)
E/flutter (11181): #34 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3617:5)
E/flutter (11181): #35 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2907:14)
E/flutter (11181): #36 Element.updateChild (package:flutter/src/widgets/framework.dart:2710:12)
E/flutter (11181): #37 SliverMultiBoxAdaptorElement.updateChild (package:flutter/src/widgets/sliver.dart:744:36)
E/flutter (11181): #38 SliverMultiBoxAdaptorElement.createChild. (package:flutter/src/widgets/sliver.dart:729:20)
E/flutter (11181): #39 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2222:19)
E/flutter (11181): #40 SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:722:11)
E/flutter (11181): #41 RenderSliverMultiBoxAdaptor._createOrObtainChild. (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:254:23)
E/flutter (11181): #42

Select contact by user.

Is it possible to call the contact selection dialog so that the user chooses the right one?

Invalid envelope on Android

Hi, I'm trying to use your plugin but I can't make the example work. Whenever I launch the app and call the service, I get this stacktrace :

Launching lib\main.dart on SM G903F in debug mode...
Initializing gradle...
Resolving dependencies...
Running 'gradlew assembleDebug'...
Built build\app\outputs\apk\debug\app-debug.apk (30.3MB).
Installing build\app\outputs\apk\app.apk...
I/FlutterActivityDelegate(30339): onResume setting current activity to this
Syncing files to device SM G903F...
D/libGLESv2(30339): DTS_GLAPI : DTS is not allowed for Package : <my package>
D/libGLESv1(30339): DTS_GLAPI : DTS is not allowed for Package : <my package>
D/ViewRootImpl(30339): ViewPostImeInputStage processPointer 0
D/ViewRootImpl(30339): ViewPostImeInputStage processPointer 1
D/ViewRootImpl(30339): ViewPostImeInputStage processPointer 0
D/ViewRootImpl(30339): ViewPostImeInputStage processPointer 1
E/flutter (30339): [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter (30339): FormatException: Invalid envelope
E/flutter (30339): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:546:7)
E/flutter (30339): #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:154:18)
E/flutter (30339): <asynchronous suspension>
E/flutter (30339): #2      ContactsService.addContact (package:contacts_service/contacts_service.dart:20:57)
E/flutter (30339): #3      _MyHomePageState.doWork (<my working directory>/sandbox/lib/main.dart:126:27)
E/flutter (30339): <asynchronous suspension>
E/flutter (30339): #4      _MyHomePageState._incrementCounter (<my working directory>/sandbox/lib/main.dart:58:5)
E/flutter (30339): #5      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:478:14)
E/flutter (30339): #6      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:530:30)
E/flutter (30339): #7      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)
E/flutter (30339): #8      TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:161:9)
E/flutter (30339): #9      TapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:123:7)
E/flutter (30339): #10     GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:156:27)
E/flutter (30339): #11     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:147:20)
E/flutter (30339): #12     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:121:22)
E/flutter (30339): #13     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:101:7)
E/flutter (30339): #14     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:64:7)
E/flutter (30339): #15     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:48:7)
E/flutter (30339): #16     _invoke1 (dart:ui/hooks.dart:134:13)
E/flutter (30339): #17     _dispatchPointerDataPacket (dart:ui/hooks.dart:91:5)

I suppose your plugin works, so I'm missing some step, but which one ?

Add contact isn't working.

I tried to add a contact, but calling the provided function does nothing i.e nothing happens.
I am sure that the function inside the package is being called upto the dart code which defines the same.

I making using of this package to get contacts which works perfectly.

Is WRITE_CONTACTS permission required if only read methods used?

The README states:

Make sure you add the following permissions to your Android Manifest

<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />

Is WRITE_CONTACTS required if I only plan to read the contact information?

Request: Lookup phone number

They contact query (by name, I am guessing) works very well. However, is there a way to lookup contact(s) based on a phone number?

I understand this isn't something on your to-do list but it'd be great to know if there's a way to do so in library's current state?

Can I add a picker and writer method to this plugin?

Hi Clovis,

Nice plugin! In my app I want to pick a single contact from the device phone book (launch the device phone book page) and export one contact to the device phone book (open the device contact edit page). Can I pr to add these two methods to your plugin?

Also I find there's no permission check and request dialog in this plugin, can I add this part too? Something like:

if (readStoragePermission != PackageManager.PERMISSION_GRANTED) { activity.requestPermissions(new String[]{Manifest.permission.READ_CONTACTS}, REQUEST_READ_CONTACTS); } else { Start to pick a contact }

Thanks :]

contacts_service-Swift.h file not found

I tried to no avail the solution offered here: #18

Rebuilt the flutter app with -i swift.

But am still getting the not found error:
########
Xcode's output:

/Users/weicht/devel/flutter/.pub-cache/hosted/pub.dartlang.org/contacts_service-0.0.9/ios/Classes/ContactsServicePlugin.m:2:9: fatal error: 'contacts_service/contacts_service-Swift.h' file not found
#import <contacts_service/contacts_service-Swift.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
/Users/weicht/devel/flutter/.pub-cache/hosted/pub.dartlang.org/contacts_service-0.0.9/ios/Classes/ContactsServicePlugin.m:2:9: fatal error: 'contacts_service/contacts_service-Swift.h' file not found
#import <contacts_service/contacts_service-Swift.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
######

Flutter doctor -v output:
######
[✓] Flutter (Channel beta, v1.0.0, on Mac OS X 10.14 18A391, locale en-US)
• Flutter version 1.0.0 at /Users/weicht/devel/flutter
• Framework revision 5391447fae (7 weeks ago), 2018-11-29 19:41:26 -0800
• Engine revision 7375a0f414
• Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

[✓] Android toolchain - develop for Android devices (Android SDK 28.0.3)
• Android SDK at /Users/weicht/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)
• All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 10.1, Build version 10B61
• ios-deploy 1.9.4
• CocoaPods version 1.5.3

[✓] Android Studio (version 3.2)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 30.0.1
• Dart plugin version 181.5656
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)

[✓] IntelliJ IDEA Ultimate Edition (version 2018.2.6)
• IntelliJ at /Applications/IntelliJ IDEA.app
• Flutter plugin version 31.1.3
• Dart plugin version 182.5124

[✓] Connected device (1 available)
• Chris Weicht’s iPhone • c544c9050e97f5a0ea45e696f4fedc3485022bf0 • ios • iOS 12.1.2

• No issues found!
######

Can't read contacts

I am using an emulation of a Pixel 2 (Android 28).

pubspec.yaml

environment:
    sdk: ">=2.0.0-dev.68.0 <3.0.0"

dependencies:
    flutter:
        sdk: flutter

    # The following adds the Cupertino Icons font to your application.
    # Use with the CupertinoIcons class for iOS style icons.
    cupertino_icons: ^0.1.2
    path_provider: '>=0.3.0'
    sqflite: any
    uuid: 2.0.0
    quiver: '>=2.0.0 <3.0.0'
    flutter_speed_dial: ^1.1.1
    contacts_service: '>=0.1.1'
    simple_permissions: 0.1.7

After adding the dependencies to contacts_service and simple_permissions and some test code, I get:

Syncing files to device Android SDK built for x86...
I/flutter (20912): Found 0 Contacts
Reloaded 2 of 492 libraries in 4,785ms.
E/flutter (20912): [ERROR:flutter/shell/common/shell.cc(184)] Dart Error: Unhandled exception:
E/flutter (20912): MissingPluginException(No implementation found for method requestPermission on channel simple_permissions)
E/flutter (20912): #0      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:291:7)
E/flutter (20912): <asynchronous suspension>
E/flutter (20912): #1      SimplePermissions.requestPermission (package:simple_permissions/simple_permissions.dart:24:35)
E/flutter (20912): <asynchronous suspension>
E/flutter (20912): #2      ContactsScreenState._addContact (package:my_app/contact_list.dart:118:27)
E/flutter (20912): <asynchronous suspension>
E/flutter (20912): #3      ContactsScreenState.build.<anonymous closure> (package:my_app/contact_list.dart:85:20)
E/flutter (20912): #4      AnimatedChild._performAction (package:flutter_speed_dial/src/animated_child.dart:60:24)
E/flutter (20912): #5      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:507:14)
E/flutter (20912): #6      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:562:30)
E/flutter (20912): #7      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)
E/flutter (20912): #8      TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:242:9)
E/flutter (20912): #9      TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:175:7)
E/flutter (20912): #10     PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:315:9)
E/flutter (20912): #11     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:73:12)
E/flutter (20912): #12     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:101:11)
E/flutter (20912): #13     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:180:19)
E/flutter (20912): #14     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:158:22)
E/flutter (20912): #15     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:138:7)
E/flutter (20912): #16     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:101:7)
E/flutter (20912): #17     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:85:7)
E/flutter (20912): #18     _invoke1 (dart:ui/hooks.dart:168:13)
E/flutter (20912): #19     _dispatchPointerDataPacket (dart:ui/hooks.dart:122:5)
Lost connection to device.

If I try to do

flutter clean

and then try to run the app, I get:

Launching lib/main.dart on Android SDK built for x86 in debug mode...
Initializing gradle...
Resolving dependencies...
Gradle task 'assembleDebug'...

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:preDebugBuild'.
> Android dependency 'com.android.support:support-core-utils' has different version for the compile (27.1.1) and runtime (28.0.0-rc01) classpath. You should manually set the same version via DependencyResolution

* 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 6s
Finished with error: Gradle task assembleDebug failed with exit code 1

The code of my function:

	_addContact(BuildContext context) async {
		print("_addContact called");
		
		await SimplePermissions.requestPermission(Permission.ReadContacts);
		await SimplePermissions.requestPermission(Permission.WriteContacts);
		
		bool isReadPermissionGranted = await SimplePermissions.checkPermission(Permission.ReadContacts);
		bool isWritePermissionGranted = await SimplePermissions.checkPermission(Permission.WriteContacts);
		if (isReadPermissionGranted && isWritePermissionGranted) {
			Iterable<Contact> contacts = await ContactsService.getContacts();
			print('Found ${contacts.length} contacts');
		} else {
			print('Permissions not granted');
		}
	}

I did add the required lines in the Android Manifest and plist, and in fact it works in the iOs emulator.

Android crashes few seconds after getting all contacts

D/AndroidRuntime(11912): Shutting down VM
E/AndroidRuntime(11912): FATAL EXCEPTION: main
E/AndroidRuntime(11912): Process: com.appzonegroup.zone, PID: 11912
E/AndroidRuntime(11912): java.lang.IllegalStateException: Reply already submitted
E/AndroidRuntime(11912): at io.flutter.view.FlutterNativeView$1.reply(FlutterNativeView.java:146)
E/AndroidRuntime(11912): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.success(MethodChannel.java:194)
E/AndroidRuntime(11912): at flutter.plugins.contactsservice.contactsservice.ContactsServicePlugin$GetContactsTask.onPostExecute(ContactsServicePlugin.java:134)
E/AndroidRuntime(11912): at flutter.plugins.contactsservice.contactsservice.ContactsServicePlugin$GetContactsTask.onPostExecute(ContactsServicePlugin.java:115)
E/AndroidRuntime(11912): at android.os.AsyncTask.finish(AsyncTask.java:667)
E/AndroidRuntime(11912): at android.os.AsyncTask.-wrap1(AsyncTask.java)
E/AndroidRuntime(11912): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:684)
E/AndroidRuntime(11912): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(11912): at android.os.Looper.loop(Looper.java:154)
E/AndroidRuntime(11912): at android.app.ActivityThread.main(ActivityThread.java:6816)
E/AndroidRuntime(11912): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(11912): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1563)
E/AndroidRuntime(11912): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1451)

Not able to fetch contacts

E/flutter (11008): [ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter (11008): type 'List' is not a subtype of type 'Iterable<Map>' where
E/flutter (11008):   List is from dart:core
E/flutter (11008):   Iterable is from dart:core
E/flutter (11008):   Map is from dart:core
E/flutter (11008): 
E/flutter (11008): #0      ContactsService.getContacts (package:contacts_service/contacts_service.dart)
E/flutter (11008): <asynchronous suspension>

I guess it's some type error in the Dart interface. The package was working fine, until I upgraded flutter and dart.

Request: Update contact

Hello,
I wanted to ask if there is any intention to develop the update contact feature?
Currently I just delete and re-add the contact to the user, but the problem with that (specifically on Android) is that the new contact is being added to the user's device, and the previous contact might had been on his Google account. I think this feature is required in general.
Really appreciating this plugin!
Thanks ahead.

Exception with --preview-dart-2

[        ] I/flutter (21836):     error: type 'List<dynamic>' is not a subtype of type 'Iterable<Map<dynamic, dynamic>>' where
[        ] I/flutter (21836):   List is from dart:core
[        ] I/flutter (21836):   Iterable is from dart:core
[        ] I/flutter (21836):   Map is from dart:core
[   +3 ms] I/flutter (21836): #0      ContactsService.getContacts (package:contacts_service/contacts_service.dart)
[        ] I/flutter (21836): <asynchronous suspension>
[        ] I/flutter (21836): #1      InvitationDaoFirebase.loadContacts (package:lookatmybaby_flutter/src/server_api_firebase/invitation_dao_firebase.dart:140:50)
[        ] I/flutter (21836): <asynchronous suspension>
[        ] I/flutter (21836): #2      new InvitationController (package:lookatmybaby_shared/src/client/controller/invitation_controller.dart:27:26)
[        ] I/flutter (21836): #3      AppController.invitationController (package:lookatmybaby_shared/src/client/controller/app_controller.dart:241:37)
[        ] I/flutter (21836): #4      _InvitePeopleScreenState.controller (package:lookatmybaby_flutter/widgets/screens/invite_people_screen/invite_people_screen.dart:27:56)
[        ] I/flutter (21836): #5      ScreenState._buildAppBarCallback (package:lookatmybaby_flutter/widgets/generic_widgets/screen_state.dart:134:16)
[        ] I/flutter (21836): #6      SearchBar.buildAppBar (package:lookatmybaby_flutter/widgets/generic_widgets/search_bar.dart:105:24)
[        ] I/flutter (21836): #7      SearchBar.build (package:lookatmybaby_flutter/widgets/generic_widgets/search_bar.dart:193:48)
[        ] I/flutter (21836): #8      ScreenState.build (package:lo

build failed - SWIFT_VERSION not supported

I have created a basic Flutter app using the CLI Flutter tool. Starting with the basic demo app, I only added an import of the contacts_service package.

When running flutter run or flutter build, I get the following message in the terminal:

fullnames-MacBook-Air:testapp accountname$ flutter run
Launching lib/main.dart on iPhone 6 Plus in debug mode...
Running pod install...                                       1.8s
Starting Xcode build...
Xcode build done.                                            1.5s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    === BUILD TARGET contacts_service OF PROJECT Pods WITH CONFIGURATION Debug ===
    The “Swift Language Version” (SWIFT_VERSION) build setting must be set to a supported value for targets which use Swift. This setting can be set in the build settings editor.
Could not build the application for the simulator.
Error launching application on iPhone 6 Plus.

I am a newbie, and not sure if this is a problem with the Flutter contacts package or my own mistake?

Any suggestion would be very appreciated! -- thanks

Build failed on iOS (SWIFT_VERSION)

Hi,

the example works fine. But when I tried to compile my own project, the following error occurred:

	Error output from Xcode build:
	↳
	    ** BUILD FAILED **
	    
	Xcode's output:
	↳
	    === BUILD TARGET contacts_service OF PROJECT Pods WITH CONFIGURATION Debug ===
	    The “Swift Language Version” (SWIFT_VERSION) build setting must be set to a supported value for targets which use Swift. This setting can be set in the build settings editor.
Could not build the precompiled application for the device.

I figured out, that the solution/ workaround is to change the configuration in "ios/Runner.xcodeproj/project.pbxproj":
from
VERSIONING_SYSTEM = "apple-generic";
to

SWIFT_SWIFT3_OBJC_INFERENCE=On;
SWIFT_VERSION=4.0;

Is there a dependency compiled in an earlier swift version that could be updated?

Best,
Marcus

Contacts Saved on Google cloud are not fetched

Is it normal for contacts available in the phone contact's list but saved only on Google account not to be fetched from the plugin?

It seems that android phones can sync with your google contacts, but without physically adding the contact to your phone. So the plugin can't fetch these contacts?

The phone numbers are duplicate.

Case 1
When I have a single number associated with a contact.

For each contact it is showing two numbers like 74113 61788 and 7411361788.
So basically it has a number with spaces and a number without spaces.

The same contact in my phone book app shows just a single number.

Case 2
When I have two numbers associated with a contact.

If I have a contact with two different numbers like 77777777 and 66666 6666, then it shows properly that is the two numbers with exact spacing.

I have an android 6.0 which is pure android. I making use of the default android contacts app.

INSTALL_FAILED_CONFLICTING_PROVIDER: Package couldn't be installed

Two Apps cannot be installed on the same phone after using this plug-in

Error: ADB exited with exit code 1 adb: failed to install /Users/jgwei/IdeaProjects/loan/build/app/outputs/apk/app.apk: Failure [INSTALL_FAILED_CONFLICTING_PROVIDER: Package couldn't be installed in /data/app/com.ysh.sdb--5GF3pMkE5_bKqOwmq56_g==: Can't install because provider name com.zt.shareextend.fileprovider (in package com.ysh.sdb) is already used by com.ysh.xzsd] Error launching application on LON AL00.

contacts_service: ^0.1.1

It seems to be the reason for using share_extend plug-in

Now I can only use the old version.

Feature request: Open phone contacts list for contact selection

This is a very useful feature that I believe many apps could use.
Add a function that opens the phones contact list (instead of importing the whole list into the app) for a single or multiple contact(s) selection and data retrieval.
For example, I want the possibility to fill in a user form with all the details of a specific contact out of my contacts list.
Thanks in advance.

Cant Add Contact using API >= 26

Using emulator (and physical device (Android 5.1) with API version <= 25 all work!
Using emulator (and physical device (Android 8.0) with API version >= 26 I receive the follow message when running ContactsService.addContact(contact) :

E/flutter (15894): [ERROR:flutter/shell/common/shell.cc(186)] Dart Error: Unhandled exception: E/flutter (15894): FormatException: Invalid envelope E/flutter (15894): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:567:7) E/flutter (15894): #1 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:292:18) E/flutter (15894): <asynchronous suspension> E/flutter (15894): #2 ContactsService.addContact (package:contacts_service/contacts_service.dart:24:16) E/flutter (15894): #3 _AddContactPageState.build.<anonymous closure> (package:trovimap_contacts/contact_list_page.dart:1084:33) E/flutter (15894): #4 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:507:14) E/flutter (15894): #5 _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:562:30) E/flutter (15894): #6 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24) E/flutter (15894): #7 TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:242:9) E/flutter (15894): #8 TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:175:7) E/flutter (15894): #9 PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:315:9) E/flutter (15894): #10 PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:73:12) E/flutter (15894): #11 PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:101:11) E/flutter (15894): #12 _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:180:19) E/flutter (15894): #13 _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:158:22) E/flutter (15894): #14 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:138:7) E/flutter (15894): #15 _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:101:7) E/flutter (15894): #16 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:85:7) E/flutter (15894): #17 _invoke1 (dart:ui/hooks.dart:173:13) E/flutter (15894): #18 _dispatchPointerDataPacket (dart:ui/hooks.dart:127:5)

I tried to increment the compileSdkVersion to 28 into android/build.gradle file without success.

contacts_service 0.0.4 isn't working

I have used flutter contacts_service 0.0.4 plugin for get contacts, it is works fine on android version 4.4.2, but in android version 6.0.1, it could not fetch contacts on android mobile device.

So please guide me how to solve the issue.

when we run project in ios then gives error

/Users/prateeksuraj/.pub-cache/hosted/pub.dartlang.org/contacts_service-0.0.6/ios/Classes/ContactsServicePlugin.m:2:9: fatal error: 'contacts_service/contacts_service-Swift.h' file not found
#import <contacts_service/contacts_service-Swift.h>

Build failed with an exception - Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'

I'm working on a fresh install of Flutter. All I did was adding contact services to the pubspec.yaml file and when I try to run it throws build error.

pubspec.yaml

dependencies:
  flutter:
    sdk: flutter

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^0.1.2
  simple_permissions: ^0.1.9
  contacts_service: ^0.2.4

Error

Launching lib/main.dart on SM G950W in debug mode...
Initializing gradle...
Resolving dependencies...
Running Gradle task 'assembleDebug'...
D8: Program type already present: android.support.v4.os.ResultReceiver$MyResultReceiver

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/28.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/5.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/40.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/58.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/49.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/34.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/64.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/9.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/61.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/37.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/55.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/43.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/25.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/31.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/67.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/46.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/22.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/52.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/15.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/10.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/6.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/7.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/11.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/14.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/3.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/8.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/12.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/4.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/16.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/2.jar, /home/mithunnath/IdeaProjects/fluttercontactsapp/build/app/intermediates/transforms/dexBuilder/debug/13.jar
  Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
  Program type already present: android.support.v4.os.ResultReceiver$MyResultReceiver

* 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 2s
*******************************************************************************************
The Gradle failure may have been because of AndroidX incompatibilities in this Flutter app.
See https://goo.gl/CP92wY for more information on the problem and how to fix it.
*******************************************************************************************
Finished with error: Gradle task assembleDebug failed with exit code 1

Deleted contact under Android is still there with empty data

🐛 Bug Report

After calling await ContactsService.deleteContact(contact); the contact is not really deleted under Android. The contact is still in the contact list, but listed as "(no name)". I tested it on real devices having Android 5 and Android 8, I got the same result for both.

Expected behavior

It would be perfect if the contact deletes completely from the contact list.

Reproduction steps

Run the sample app on an Android device. Tap on a contact. Hit the delete action on the details screen. Go to your Contact-App on your device and find the contact under "(no name)"

Configuration

Version: 0.2.3

Platform:

  • 📱 iOS
  • 🤖 Android

Weird FATAL EXCEPTION AsyncTask #2 when getting contacts

Hey guys.

I am in a bit of a pickle right now, since I am trying building an app that needs to reads the mobiles contacts but somehow it just fails miserably at this. And I am missing clues how to debug this – since the error message is less than helpful.

Here is the widget I am trying to run:

class ContactImporter extends StatefulWidget {
  @override
  _ContactImporterState createState() => _ContactImporterState();
}

class _ContactImporterState extends State<ContactImporter> {
  List<Contact> contacts = [];

  @override
  void initState() {
    debugPrint("start loading contacts");
    ContactsService.getContacts().then((foundContacts) {
      debugPrint("done loading contacts" + foundContacts.length.toString());
      setState(() {
        contacts = foundContacts;
      });
    }).catchError((error) {
      debugPrint(error);
    });
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Contacts')),
      body: contacts.length == 0 ? Center(child: Text("Nothing to see here…")) : ListView(
        children: contacts.map((contact) => Text(contact.displayName)).toList(),
      )
    );
  }
}

And here is what the debug console outputs:

I/flutter (20876): start loading contacts
E/AndroidRuntime(20876): FATAL EXCEPTION: AsyncTask #2
E/AndroidRuntime(20876): Process: com.example.contactexample, PID: 20876
E/AndroidRuntime(20876): java.lang.RuntimeException: An error occurred while executing doInBackground()
E/AndroidRuntime(20876): 	at android.os.AsyncTask$3.done(AsyncTask.java:354)
E/AndroidRuntime(20876): 	at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
E/AndroidRuntime(20876): 	at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
E/AndroidRuntime(20876): 	at java.util.concurrent.FutureTask.run(FutureTask.java:271)
E/AndroidRuntime(20876): 	at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
E/AndroidRuntime(20876): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E/AndroidRuntime(20876): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/AndroidRuntime(20876): 	at java.lang.Thread.run(Thread.java:764)
E/AndroidRuntime(20876): Caused by: java.lang.SecurityException: Permission Denial: opening provider com.android.providers.contacts.ContactsProvider2 from ProcessRecord{3fc343d 20876:com.example.ubercontactedmobile/u0a86} (pid=20876, uid=10086) requires android.permission.READ_CONTACTS or android.permission.WRITE_CONTACTS
E/AndroidRuntime(20876): 	at android.os.Parcel.createException(Parcel.java:1942)
E/AndroidRuntime(20876): 	at android.os.Parcel.readException(Parcel.java:1910)
E/AndroidRuntime(20876): 	at android.os.Parcel.readException(Parcel.java:1860)
E/AndroidRuntime(20876): 	at android.app.IActivityManager$Stub$Proxy.getContentProvider(IActivityManager.java:4181)
E/AndroidRuntime(20876): 	at android.app.ActivityThread.acquireProvider(ActivityThread.java:5970)
E/AndroidRuntime(20876): 	at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2592)
E/AndroidRuntime(20876): 	at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1828)
E/AndroidRuntime(20876): 	at android.content.ContentResolver.query(ContentResolver.java:786)
E/AndroidRuntime(20876): 	at android.content.ContentResolver.query(ContentResolver.java:752)
E/AndroidRuntime(20876): 	at android.content.ContentResolver.query(ContentResolver.java:710)
E/AndroidRuntime(20876): 	at flutter.plugins.contactsservice.contactsservice.ContactsServicePlugin.getCursor(ContactsServicePlugin.java:152)
E/AndroidRuntime(20876): 	at flutter.plugins.contactsservice.contactsservice.ContactsServicePlugin.access$000(ContactsServicePlugin.java:34)
E/AndroidRuntime(20876): 	at flutter.plugins.contactsservice.contactsservice.ContactsServicePlugin$GetContactsTask.doInBackground(ContactsServicePlugin.java:125)
E/AndroidRuntime(20876): 	at flutter.plugins.contactsservice.contactsservice.ContactsServicePlugin$GetContactsTask.doInBackground(ContactsServicePlugin.java:112)
E/AndroidRuntime(20876): 	at android.os.AsyncTask$2.call(AsyncTask.java:333)
E/AndroidRuntime(20876): 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
E/AndroidRuntime(20876): 	... 4 more
E/AndroidRuntime(20876): Caused by: android.os.RemoteException: Remote stack trace:
E/AndroidRuntime(20876): 	at com.android.server.am.ActivityManagerService.getContentProviderImpl(ActivityManagerService.java:12188)
E/AndroidRuntime(20876): 	at com.android.server.am.ActivityManagerService.getContentProvider(ActivityManagerService.java:12585)

Maybe I am doing something really stupid – which totally might happen since I am fairly new to flutter and stuff – but I think it should work. So if anyone knows what is going on, or how to find the crux, I would be really indebted to you.

Not quite sure what you could need to help, so here is the flutter doctor output:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.0.0, on Linux, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK 28.0.3)
[✓] Android Studio (version 3.2)
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
[✓] VS Code (version 1.30.1)
[✓] Connected device (1 available)

• No issues found!

I am trying this in the simulator with a Nexus_5X_api_28_64 device.

Any ideas?

Crashes on iOS Simulator at launch.

Hi,

I keep having problems with this plugin even on a completely fresh project. It builds fine but crashes as it tries to launch on the iOS simulator. As the example project runs fine, it must be something simple I'm missing here.. Any help would be greatly appreciated!

Steps to reproduce:

  1. Create a fresh project using the flutter tool: flutter create -i swift -t app <<appname>>
  2. Open the iOS simulator: open -a Simulator
  3. Run the app on the simulator: flutter run
  4. Add contacts_service to pubspec.yaml and run packages get: flutter packages get
  5. Edit Info.plist to include the permissions
  6. Run the app again: flutter run

On my side it flashes a white screen before crashing.

Flutter doctor output:

[✓] Flutter (Channel master, v0.10.2-pre.20, on Mac OS X 10.12.6 16G1510, locale
    en-ZA)
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[✓] iOS toolchain - develop for iOS devices (Xcode 9.0)
[✓] Android Studio (version 3.2)
[!] VS Code (version 1.23.0)
[✓] Connected device (1 available)

Simulator: Version 10.0 (SimulatorApp-829.6)
XCode: Version 9.0 (9A235)

Simulator logs:

Oct 21 12:31:04 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.videosubscriptionsd[43574]): Service exited with abnormal code: 1
Oct 21 12:31:05 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.videosubscriptionsd): Service only ran for 1 seconds. Pushing respawn out by 9 seconds.
Oct 21 12:31:06 Nicks-MacBook-Pro callservicesd[43575]: objc[43575]: Class VCWeakObjectHolder is implemented in both /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/AVConference.framework/Frameworks/ViceroyTrace.framework/ViceroyTrace (0x1150b2490) and /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/AVConference.framework/AVConference (0x1084b9fc0). One of the two will be used. Which one is undefined.
Oct 21 12:31:07 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.intents.intents-image-service): Unknown key for Boolean: EnableTransactions
Oct 21 12:31:07 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.intents.intents-image-service): Unknown key for Boolean: EnablePressuredExit
Oct 21 12:31:07 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.imfoundation.IMRemoteURLConnectionAgent): Unknown key for Boolean: EnableTransactions
Oct 21 12:31:07 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.imfoundation.IMRemoteURLConnectionAgent): Unknown key for integer: _DirtyJetsamMemoryLimit
Oct 21 12:31:07 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.imfoundation.IMRemoteURLConnectionAgent): Unknown key for Boolean: EnablePressuredExit
Oct 21 12:31:07 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.CallKit.CallDirectoryMaintenance): Unknown key for Boolean: EnableTransactions
Oct 21 12:31:07 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.CallKit.CallDirectoryMaintenance): Unknown key for Boolean: EnablePressuredExit
Oct 21 12:31:07 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.CallKit.CallDirectory): Unknown key for Boolean: EnableTransactions
Oct 21 12:31:07 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.CallKit.CallDirectory): Unknown key for Boolean: EnablePressuredExit
Oct 21 12:31:09 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.CallKit.CallDirectoryMaintenance): Unknown key for Boolean: EnableTransactions
Oct 21 12:31:09 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.CallKit.CallDirectoryMaintenance): Unknown key for Boolean: EnablePressuredExit
Oct 21 12:31:09 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.CallKit.CallDirectory): Unknown key for Boolean: EnableTransactions
Oct 21 12:31:09 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.CallKit.CallDirectory): Unknown key for Boolean: EnablePressuredExit
Oct 21 12:31:09 Nicks-MacBook-Pro calaccessd[43584]: DEPRECATED USE in libdispatch client: Setting timer interval to 0 requests a 1ns timer, did you mean FOREVER (a one-shot timer)?
Oct 21 12:31:10 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.intents.intents-image-service): Unknown key for Boolean: EnableTransactions
Oct 21 12:31:10 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.intents.intents-image-service): Unknown key for Boolean: EnablePressuredExit
Oct 21 12:31:10 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.DictionaryServiceHelper): Unknown key for Boolean: EnableTransactions
Oct 21 12:31:10 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.DictionaryServiceHelper): Unknown key for Boolean: EnablePressuredExit
Oct 21 12:31:10 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.StreamingUnzipService): Unknown key for Boolean: EnableTransactions
Oct 21 12:31:10 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.StreamingUnzipService): Unknown key for Boolean: EnablePressuredExit
Oct 21 12:31:10 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.uifoundation-bundle-helper): Unknown key for Boolean: EnableTransactions
Oct 21 12:31:10 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.uifoundation-bundle-helper): Unknown key for Boolean: EnablePressuredExit
Oct 21 12:31:10 Nicks-MacBook-Pro Runner[43585]: assertion failed: 16G1510 15A372: libxpc.dylib + 69578 [D870A237-D3A7-31F5-AAD4-CE880C0C8E7B]: 0x7d
Oct 21 12:31:11 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (UIKitApplication:com.example.myt[0x4b5e][41234][43585]): Service exited due to signal: Segmentation fault: 11 sent by exc handler[0]
Oct 21 12:31:14 Nicks-MacBook-Pro com.apple.CoreSimulator.SimDevice.860655C8-A060-43B3-AFEE-EFDE2DAF0F39[41208] (com.apple.videosubscriptionsd[43590]): Service exited with abnormal code: 1

Can't build project with contacts_service is a dependency

When trying to run my flutter project I get this error in the terminal:

* Error running Gradle:
ProcessException: Process "D:\Programming\Flutter\on_my_way\android\gradlew.bat" exited abnormally:

> Configure project :contacts_service

Project evaluation failed including an error in afterEvaluate {}. Run with --stacktrace for details of the afterEvaluate {} error.

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':contacts_service'.
> Could not resolve all artifacts for configuration ':contacts_service:classpath'.
   > Could not find com.android.tools:common:25.3.3.
     Searched in the following locations:
       - https://jcenter.bintray.com/com/android/tools/common/25.3.3/common-25.3.3.pom
       - https://jcenter.bintray.com/com/android/tools/common/25.3.3/common-25.3.3.jar
       - https://maven.google.com/com/android/tools/common/25.3.3/common-25.3.3.pom
       - https://maven.google.com/com/android/tools/common/25.3.3/common-25.3.3.jar
     Required by:
         project :contacts_service > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3
         project :contacts_service > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3 > com.android.tools.build:manifest-merger:25.3.3
         project :contacts_service > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3 > com.android.tools.ddms:ddmlib:25.3.3
         project :contacts_service > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3 > com.android.tools.analytics-library:shared:25.3.3
         project :contacts_service > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3 > com.android.tools.analytics-library:tracker:25.3.3
         project :contacts_service > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3 > com.android.tools:sdklib:25.3.3 >
         com.android.tools.layoutlib:layoutlib-api:25.3.3
         project :contacts_service > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3 > com.android.tools:sdklib:25.3.3 >
         com.android.tools:dvlib:25.3.3
         project :contacts_service > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3 > com.android.tools:sdklib:25.3.3 >
         com.android.tools:repository:25.3.3

* 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 3s
  Command: D:\Programming\Flutter\on_my_way\android\gradlew.bat app:properties


Please review your Gradle project setup in the android/ folder.

The places contacts_service looks for those build tools return 404.
Here's my gradle file:

buildscript {
    repositories {
        google()
        jcenter()
    }

    dependencies {       
        classpath 'com.android.tools.build:gradle:3.2.1' 
    }
}

allprojects {
    repositories {
        maven { url "https://maven.google.com" }
        google()
        jcenter()
    }
}

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(':app')
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

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.