Coder Social home page Coder Social logo

imei_plugin's Introduction

Imei Plugin

Build version

Get unique id device on ios and android

Getting Started

Get IMEI (International Mobile Device Identity) for Android devices less than android 10 with runtime permission for android greater than or equal to 10 returns a UUID and get unique identification on ios An alphanumeric string that uniquely identifies a device for the application provider.

Use

import 'package:imei_plugin/imei_plugin.dart';

String imei = await ImeiPlugin.getImei();
List<String> multiImei = await ImeiPlugin.getImeiMulti(); //for double-triple SIM phones
String uuid = await ImeiPlugin.getId();

if you want to always request permission even if the user has already denied it. You can disable validation shouldShowRequestPermissionRationale set value in false

String platformImei = await ImeiPlugin
    .getImei( shouldShowRequestPermissionRationale: false );

default value is false.

New Features!

  • New param shouldShowRequestPermissionRationale only Android

  • getId only android. id generated with UUID.randomUUID()

  • getImeiMulti support for double-triple SIM phones

Platform Support

OS
Android
IOS

License

MIT

Author

This plugin is developed, Free Software, by Kevin Caicedo

imei_plugin's People

Contributors

asinel avatar kevincaicedo avatar pablo384 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

Watchers

 avatar  avatar  avatar

imei_plugin's Issues

uses or overrides a deprecated API.

I got this error:

Launching lib/main.dart on Android SDK built for x86 in debug mode...
Initializing gradle...
Resolving dependencies...
Running Gradle task 'assembleDebug'...
Note: /usr/local/Cellar/flutter/.pub-cache/hosted/pub.dartlang.org/imei_plugin-1.1.0/android/src/main/java/com/rioapp/demo/imeiplugin/ImeiPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all files for configuration ':imei_plugin:lintClassPath'.
> Could not download trove4j.jar (org.jetbrains.trove4j:trove4j:20160824)
   > Could not get resource 'https://jcenter.bintray.com/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar'.
      > Could not GET 'https://jcenter.bintray.com/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.jar'.
         > Connect to jcenter.bintray.com:443 [jcenter.bintray.com/35.161.196.51, jcenter.bintray.com/54.148.18.233] failed: Read timed out

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

1.2.0 deprecated API Android V2 embedding

can you fix that?

The plugin `imei_plugin` uses a deprecated version of the Android embedding.
To avoid unexpected runtime failures, or future build failures, try to see if this plugin supports the Android V2 embedding. Otherwise, consider removing it since a future release of Flutter will remove these deprecated APIs.
If you are plugin author, take a look at the docs for migrating the plugin to the V2 embedding: https://flutter.dev/go/android-plugin-migration.

Android device: Can request only one set of permissions at a time

Hi... Trying to get the IMEI of android devices but receive this mesage:

Can request only one set of permissions at a time

import 'package:imei_plugin/imei_plugin.dart';

var imei = await ImeiPlugin.getImei; // trhows: Can request only one set of permissions at a time
print("Device IMEI: $imei"); // Result: Device IMEI: Permission Denied

D8: Program type already present: android.support.v4.os.ResultReceiver$MyResultReceiver

List of quoted packages
cupertino_icons: ^0.1.2
barcode_scan: ^0.0.8
device_info: ^0.4.0+1
dio: ^1.0.13
dropdown_menu: ^1.1.1
flutter_screenutil: ^0.4.6
flutter_webview_plugin: ^0.3.0+2
image_crop: ^0.2.0
image_picker: ^0.4.12+1
shared_preferences: ^0.5.1+1
imei_plugin: ^1.1.0
vscode F5
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: D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\2.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\3.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\4.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\5.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\6.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\7.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\8.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\9.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\10.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\11.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\12.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\13.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\14.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\15.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\16.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\17.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\18.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\19.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\20.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\21.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\22.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\23.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\24.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\25.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\26.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\27.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\28.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\29.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\30.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\31.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\47.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\50.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\53.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\56.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\59.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\62.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\65.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\68.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\71.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\74.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\77.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\80.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\83.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\86.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\89.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\92.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\95.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\98.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\101.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\104.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\107.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\110.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\113.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\116.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\119.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\122.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\125.jar, D:\xiangmu\jointac\jt_wms\build\app\intermediates\transforms\dexBuilder\debug\128.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.
    Gradle task assembleDebug failed with exit code 1

flutter doctor -v
[√] Flutter (Channel dev, v1.2.1-pre.2, on Microsoft Windows [Version 10.0.16299.967], locale zh-CN)
• Flutter version 1.2.1-pre.2 at D:\flutter
• Framework revision 16918b972c (22 hours ago), 2019-02-18 15:19:00 +0800
• Engine revision 3757390fa4
• Dart version 2.1.2 (build 2.1.2-dev.0.0 0a7dcf17eb)

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at D:\AndroidStudio\SDK
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.3
• ANDROID_HOME = D:\AndroidStudio\SDK
• Java binary at: D:\AndroidStudio\AndroidStudio3.2\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
• All Android licenses accepted.

[√] Android Studio (version 3.3)
• Android Studio at D:\AndroidStudio\AndroidStudio3.2
• Flutter plugin version 32.0.1
• Dart plugin version 182.5215
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)

[√] IntelliJ IDEA Ultimate Edition (version 2018.3)
• IntelliJ at D:\softword\IntelliJ IDEA 2018.3.2
• Flutter plugin version 31.3.4
• Dart plugin version 183.4886.3

[√] Connected device (1 available)
• SM G955F • 127.0.0.1:62001 • android-x86 • Android 7.1.2 (API 25)

• No issues found!

Random IMEI given

When you use the function getImei() in a device which can take to sim card, the return value change randomly. Is it not possible to retrieve the two values of IMEI if the devices has two IMEI?

Android want PHONE permissions

When I call getImei in main, the app shows permission popup for PHONE permissions before start app. When I click to allow or disallow permissions then the app shut down...

V2 Embedding Warning

After upgrading to flutter 2.5.2 flutter pub get report this warning:
"The plugin imei_plugin use a deprecated version of the Android embedding.
To avoid unexpected runtime failures, or future build failures, try to see if these plugins support the Android V2 embedding. Otherwise, consider removing them since a future release of Flutter will remove these deprecated APIs.
If you are plugin author, take a look at the docs for migrating the plugin to the V2 embedding: https://flutter.dev/go/android-plugin-migration."
Worth to fix?

getImei returning wrong value

I used a example in your repository to get a IMEI from a android device.
The problem is that when i run it returns MEID from that device not the IMEI.

I really need to get the real IMEI number, there it is a way to get it, or a workaround ?

Report Issues: I can't get real IMEI

I has this bugs when I want to recognize people from Iphone's IMEI. I can't receive real IMEI.
And it always change when reinstall .ipa via Xcode. Please suggests me. I am newbie in Apple Develop. Thank you.

Error occur: ArrayIndexOutOfBoundsException

Describe

The method getImei occur exception, Hope can check results of length

Here is the log:

Back traces starts.
java.lang.RuntimeException: Failure delivering result ResultInfo{who=@android:requestPermissions:, request=1995, result=0, data=null} to activity {xxxxx/xxxxx.MainActivity}: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
	at android.app.ActivityThread.deliverResults(ActivityThread.java:5041)
	at android.app.ActivityThread.handleSendResult(ActivityThread.java:5084)
	at android.app.ActivityThread.-wrap20(Unknown Source:0)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2053)
	at android.os.Handler.dispatchMessage(Handler.java:108)
	at android.os.Looper.loop(Looper.java:166)
	at android.app.ActivityThread.main(ActivityThread.java:7529)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)
Caused by: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
	at com.rioapp.demo.imeiplugin.ImeiPlugin.onRequestPermissionsResult(ImeiPlugin.java:165)
	at io.flutter.embedding.engine.FlutterEnginePluginRegistry$FlutterEngineActivityPluginBinding.onRequestPermissionsResult(FlutterEnginePluginRegistry.java:664)
	at io.flutter.embedding.engine.FlutterEnginePluginRegistry.onRequestPermissionsResult(FlutterEnginePluginRegistry.java:364)
	at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onRequestPermissionsResult(FlutterActivityAndFragmentDelegate.java:579)
	at io.flutter.embedding.android.FlutterActivity.onRequestPermissionsResult(FlutterActivity.java:601)
	at android.app.Activity.dispatchRequestPermissionsResult(Activity.java:7854)
	at android.app.Activity.dispatchActivityResult(Activity.java:7705)
	at android.app.ActivityThread.deliverResults(ActivityThread.java:5037)
	... 9 more
Back traces ends.

persistence of Unique ID of ios device

  1. Will Unique ID of ios device remains the same even after the following :
    -factory reset,
    -Backup restore,
    -OS update
    -restart

  2. Is there any situation where this unique ID will change?

Thanks,
Gaurav

App Crashed when permission granted!

Application crashed when permission granted for first time.

java.lang.RuntimeException: Failure delivering result ResultInfo{who=@android:requestPermissions:, request=1995, result=-1, data=Intent { act=android.content.pm.action.REQUEST_PERMISSIONS (has extras) }} to activity {com.example.send_tracking_app/com.example.send_tracking_app.MainActivity}: java.lang.NullPointerException: Attempt to invoke interface method 'void io.flutter.plugin.common.MethodChannel$Result.success(java.lang.Object)' on a null object reference
E/AndroidRuntime( 7481): at android.app.ActivityThread.deliverResults(ActivityThread.java:4089)
E/AndroidRuntime( 7481): at android.app.ActivityThread.handleSendResult(ActivityThread.java:4132)
E/AndroidRuntime( 7481): at android.app.ActivityThread.-wrap20(ActivityThread.java)
E/AndroidRuntime( 7481): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1533)
E/AndroidRuntime( 7481): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 7481): at android.os.Looper.loop(Looper.java:154)
E/AndroidRuntime( 7481): at android.app.ActivityThread.main(ActivityThread.java:6119)
E/AndroidRuntime( 7481): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( 7481): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
E/AndroidRuntime( 7481): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
E/AndroidRuntime( 7481): Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'void io.flutter.plugin.common.MethodChannel$Result.success(java.lang.Object)' on a null object reference
E/AndroidRuntime( 7481): at com.rioapp.demo.imeiplugin.ImeiPlugin.getImei(ImeiPlugin.java:77)
E/AndroidRuntime( 7481): at com.rioapp.demo.imeiplugin.ImeiPlugin.onRequestPermissionsResult(ImeiPlugin.java:123)
E/AndroidRuntime( 7481): at io.flutter.embedding.engine.FlutterEnginePluginRegistry$FlutterEngineActivityPluginBinding.onRequestPermissionsResult(FlutterEnginePluginRegistry.java:612)
E/AndroidRuntime( 7481): at io.flutter.embedding.engine.FlutterEnginePluginRegistry.onRequestPermissionsResult(FlutterEnginePluginRegistry.java:356)
E/AndroidRuntime( 7481): at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onRequestPermissionsResult(FlutterActivityAndFragmentDelegate.java:509)
E/AndroidRuntime( 7481): at io.flutter.embedding.android.FlutterActivity.onRequestPermissionsResult(FlutterActivity.java:611)
E/AndroidRuntime( 7481): at android.app.Activity.dispatchRequestPermissionsResult(Activity.java:7084)
E/AndroidRuntime( 7481): at android.app.Activity.dispatchActivityResult(Activity.java:6936)
E/AndroidRuntime( 7481): at android.app.ActivityThread.deliverResults(ActivityThread.java:4085)
E/AndroidRuntime( 7481): ... 9 more
I/Process ( 7481): Sending signal. PID: 7481 SIG: 9

This plugin is bullshitting us

If you're in Android P and above, it will never return the IMEI. So far the only reason I knew is you gonna get this

PlatformException: The user ***** does not meet the requirements to access device identifiers

And it's the only reason I got here. But this crap plugin instead generate a random UUID from UUID.randomUUID() and store in into shared preferences like it is exactly the unique id for the phone. What's your point for doing that LIAR !!!???

Plugin blocks response of permission_handler plugin

Hello,
I tried your plugin, but somehow your plugin blocks result of permission_handler (and maybe some other plugin).
I reproduced this issue on Android.
To reproduce the issue:

  • download permission_handler
  • include your plugin in pub.xml
  • start android example of permission_handler
  • invoke permission request and notice that code after the return is never performed...

Note:device_id: 0.2.0 works just fine with plugin permission_handler

Null Safety

Any predictions for "Null Safety" support?

\ImeiPlugin.java uses or overrides a deprecated API.

Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: C:\Users\pc\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\imei_plugin-1.1.6\android\src\main\java\com\rioapp\demo\imeiplugin\ImeiPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

App not Installing on Android 8.1.0 - FAILURE: Build failed with an exception.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugResources'.
> Android resource linking failed
  Output:  /home/androiddeveloper/AndroidStudioProjects/SigmaComputers/get_device_imei_number/build/app/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:93: error: resource android:attr/fontVariationSettings not found.
  /home/androiddeveloper/AndroidStudioProjects/SigmaComputers/get_device_imei_number/build/app/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:93: error: resource android:attr/ttcIndex not found.
  error: failed linking references.

  Command: /home/androiddeveloper/.gradle/caches/transforms-1/files-1.1/aapt2-3.2.1-4818971-linux.jar/0bc62e1476916e42fa2949ebfabc0729/aapt2-3.2.1-4818971-linux/aapt2 link -I\
          /home/androiddeveloper/Android/Sdk/platforms/android-27/android.jar\
          --manifest\
          /home/androiddeveloper/AndroidStudioProjects/SigmaComputers/get_device_imei_number/build/app/intermediates/merged_manifests/debug/processDebugManifest/merged/AndroidManifest.xml\
          -o\
          /home/androiddeveloper/AndroidStudioProjects/SigmaComputers/get_device_imei_number/build/app/intermediates/processed_res/debug/processDebugResources/out/resources-debug.ap_\
          -R\
          @/home/androiddeveloper/AndroidStudioProjects/SigmaComputers/get_device_imei_number/build/app/intermediates/incremental/processDebugResources/resources-list-for-resources-debug.ap_.txt\
          --auto-add-overlay\
          --java\
          /home/androiddeveloper/AndroidStudioProjects/SigmaComputers/get_device_imei_number/build/app/generated/not_namespaced_r_class_sources/debug/processDebugResources/r\
          --custom-package\
          in.sigmacomputers.getdeviceimeinumber\
          -0\
          apk\
          --output-text-symbols\
          /home/androiddeveloper/AndroidStudioProjects/SigmaComputers/get_device_imei_number/build/app/intermediates/symbols/debug/R.txt\
          --no-version-vectors
  Daemon:  AAPT2 aapt2-3.2.1-4818971-linux Daemon #0
  Output:  /home/androiddeveloper/.gradle/caches/transforms-1/files-1.1/core-1.0.0.aar/5b191d6289a7a16ae3fe4973aef610eb/res/values/values.xml:89:5-125:25: AAPT: error: resource android:attr/fontVariationSettings not found.

  /home/androiddeveloper/.gradle/caches/transforms-1/files-1.1/core-1.0.0.aar/5b191d6289a7a16ae3fe4973aef610eb/res/values/values.xml:89:5-125:25: AAPT: error: resource android:attr/ttcIndex not found.

  error: failed linking references.
  Command: /home/androiddeveloper/.gradle/caches/transforms-1/files-1.1/aapt2-3.2.1-4818971-linux.jar/0bc62e1476916e42fa2949ebfabc0729/aapt2-3.2.1-4818971-linux/aapt2 link -I\
          /home/androiddeveloper/Android/Sdk/platforms/android-27/android.jar\
          --manifest\
          /home/androiddeveloper/AndroidStudioProjects/SigmaComputers/get_device_imei_number/build/app/intermediates/merged_manifests/debug/processDebugManifest/merged/AndroidManifest.xml\
          -o\
          /home/androiddeveloper/AndroidStudioProjects/SigmaComputers/get_device_imei_number/build/app/intermediates/processed_res/debug/processDebugResources/out/resources-debug.ap_\
          -R\
          @/home/androiddeveloper/AndroidStudioProjects/SigmaComputers/get_device_imei_number/build/app/intermediates/incremental/processDebugResources/resources-list-for-resources-debug.ap_.txt\
          --auto-add-overlay\
          --java\
          /home/androiddeveloper/AndroidStudioProjects/SigmaComputers/get_device_imei_number/build/app/generated/not_namespaced_r_class_sources/debug/processDebugResources/r\
          --custom-package\
          in.sigmacomputers.getdeviceimeinumber\
          -0\
          apk\
          --output-text-symbols\
          /home/androiddeveloper/AndroidStudioProjects/SigmaComputers/get_device_imei_number/build/app/intermediates/symbols/debug/R.txt\
          --no-version-vectors
  Daemon:  AAPT2 aapt2-3.2.1-4818971-linux Daemon #0

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

Force-close application when first asking permission

I have tested your package and it works only on Android version 10. In version 6 (M), the application always forces close when first asking the user to give READ_PHONE access.
I haven't tried other versions except those I have mentioned above

Request permissions - Reply already submitted

On Android the onMethodCall is called two times in a row, without waiting for the user's response. When the user allow the permission, the App crash

java.lang.RuntimeException: Failure delivering result ResultInfo{who=@android:requestPermissions:, request=1995, result=-1, data=Intent { act=android.content.pm.action.REQUEST_PERMISSIONS (has extras) }} to activity {......MainActivity}: java.lang.IllegalStateException: Reply already submitted

E/AndroidRuntime(30180): at android.app.ActivityThread.deliverResults(ActivityThread.java:4360)
E/AndroidRuntime(30180): at android.app.ActivityThread.handleSendResult(ActivityThread.java:4402)
E/AndroidRuntime(30180): at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49)
E/AndroidRuntime(30180): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
E/AndroidRuntime(30180): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
E/AndroidRuntime(30180): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
E/AndroidRuntime(30180): at android.os.Handler.dispatchMessage(Handler.java:106)
E/AndroidRuntime(30180): at android.os.Looper.loop(Looper.java:193)
E/AndroidRuntime(30180): at android.app.ActivityThread.main(ActivityThread.java:6669)
E/AndroidRuntime(30180): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(30180): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E/AndroidRuntime(30180): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
E/AndroidRuntime(30180): Caused by: java.lang.IllegalStateException: Reply already submitted
E/AndroidRuntime(30180): at io.flutter.view.FlutterNativeView$PlatformMessageHandlerImpl$1.reply(FlutterNativeView.java:197)
E/AndroidRuntime(30180): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.success(MethodChannel.java:204)
E/AndroidRuntime(30180): at com.rioapp.demo.imeiplugin.ImeiPlugin.getImei(ImeiPlugin.java:88)
E/AndroidRuntime(30180): at com.rioapp.demo.imeiplugin.ImeiPlugin.onRequestPermissionsResult(ImeiPlugin.java:103)
E/AndroidRuntime(30180): at io.flutter.app.FlutterPluginRegistry.onRequestPermissionsResult(FlutterPluginRegistry.java:191)
E/AndroidRuntime(30180): at io.flutter.app.FlutterActivityDelegate.onRequestPermissionsResult(FlutterActivityDelegate.java:129)
E/AndroidRuntime(30180): at io.flutter.app.FlutterActivity.onRequestPermissionsResult(FlutterActivity.java:137)
E/AndroidRuntime(30180): at android.app.Activity.dispatchRequestPermissionsResult(Activity.java:7608)
E/AndroidRuntime(30180): at android.app.Activity.dispatchActivityResult(Activity.java:7458)
E/AndroidRuntime(30180): at android.app.ActivityThread.deliverResults(ActivityThread.java:4353)
E/AndroidRuntime(30180): ... 11 more
I/Process (30180): Sending signal. PID: 30180 SIG: 9

Include null safety

unable to include in our project due to null safety. kindly upgrade the plugin with null safety

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.