【问题标题】:react native - imposible to remove a library for androidreact native - 无法删除 android 的库
【发布时间】:2017-08-29 15:33:55
【问题描述】:

好的,我在这个问题的第 3 天。我想我几乎什么都试过了。

我无法删除的包:react-native-firebase

我试过了: 完全删除代码中所有带有firebase的引用,包括build.gradle文件、package.json等。 检查旧的提交并进行构建(firebase 仍然存在!!!)。 尝试使用./gradlew clean 清理项目。 我已删除 node_modules 并多次重新安装。 清理了看门狗缓存。

以前我能够构建 apk(但在 android 上打开它会立即崩溃)。现在,我什至不能制作一个apk .. 我得到错误:

/android/app/src/main/AndroidManifest.xml:9:5-81 Warning:
        Element uses-permission#android.permission.WRITE_EXTERNAL_STORAGE at AndroidManifest.xml:9:5-81 duplicated with element declared at AndroidManifest.xml:5:5-81
:app:processReleaseResources
:app:generateReleaseSources
:app:incrementalReleaseJavaCompilationSafeguard
:app:compileReleaseJavaWithJavac
:app:compileReleaseJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
:app:compileReleaseNdk UP-TO-DATE
:app:compileReleaseSources
:app:lintVitalRelease
:app:transformClassesWithJarMergingForRelease FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesWithJarMergingForRelease'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/android/gms/internal/zzbyb.class

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

BUILD FAILED

Total time: 56.222 secs

任何帮助或建议都会很有帮助。

谢谢!

编辑:删除重复权限并运行./gradlew clean 后,重新构建和重新组装。同样的错误:

:app:incrementalReleaseJavaCompilationSafeguard
:app:compileReleaseJavaWithJavac
:app:compileReleaseJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
:app:compileReleaseNdk UP-TO-DATE
:app:compileReleaseSources
:app:lintVitalRelease
:app:transformClassesWithJarMergingForRelease FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesWithJarMergingForRelease'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/android/gms/internal/zzbyb.class

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

BUILD FAILED

Total time: 1 mins 11.648 secs

编辑:

dependencies {
    compile project(':react-native-flurry-analytics')
    compile project(':react-native-fetch-blob')
    compile project(':react-native-permissions')
    compile project(':react-native-animation')
    compile project(':react-native-mail')
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:25.0.0'
    compile 'com.facebook.react:react-native:+'
    compile 'com.google.android.gms:play-services:10.2.1'
    compile 'com.google.android.gms:play-services-location:10.2.1'
    compile 'com.google.android.gms:play-services-gcm:10.2.1'
    compile project(':react-native-share')
    compile project(':react-native-maps')
    compile project(':react-native-onesignal')
}

编辑:

08-30 15:30:08.871 1090-1153/com.adpages.android E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
                                                                   java.lang.RuntimeException: An error occured while executing doInBackground()
                                                                       at android.os.AsyncTask$3.done(AsyncTask.java:299)
                                                                       at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
                                                                       at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
                                                                       at java.util.concurrent.FutureTask.run(FutureTask.java:239)
                                                                       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
                                                                       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
                                                                       at java.lang.Thread.run(Thread.java:856)
                                                                    Caused by: java.lang.NoClassDefFoundError: com.google.android.gms.maps.GoogleMapOptions
                                                                       at com.airbnb.android.react.maps.AirMapManager.<init>(AirMapManager.java:52)
                                                                       at com.airbnb.android.react.maps.MapsPackage.createViewManagers(MapsPackage.java:39)
                                                                       at com.facebook.react.XReactInstanceManagerImpl.createAllViewManagers(XReactInstanceManagerImpl.java:699)
                                                                       at com.facebook.react.CoreModulesPackage.createUIManager(CoreModulesPackage.java:204)
                                                                       at com.facebook.react.CoreModulesPackage.access$200(CoreModulesPackage.java:69)
                                                                       at com.facebook.react.CoreModulesPackage$8.get(CoreModulesPackage.java:143)
                                                                       at com.facebook.react.CoreModulesPackage$8.get(CoreModulesPackage.java:140)
                                                                       at com.facebook.react.LazyReactPackage.createNativeModules(LazyReactPackage.java:76)
                                                                       at com.facebook.react.XReactInstanceManagerImpl.processPackage(XReactInstanceManagerImpl.java:954)
                                                                       at com.facebook.react.XReactInstanceManagerImpl.createReactContext(XReactInstanceManagerImpl.java:862)
                                                                       at com.facebook.react.XReactInstanceManagerImpl.access$600(XReactInstanceManagerImpl.java:110)
                                                                       at com.facebook.react.XReactInstanceManagerImpl$ReactContextInitAsyncTask.doInBackground(XReactInstanceManagerImpl.java:214)
                                                                       at com.facebook.react.XReactInstanceManagerImpl$ReactContextInitAsyncTask.doInBackground(XReactInstanceManagerImpl.java:193)
                                                                       at android.os.AsyncTask$2.call(AsyncTask.java:287)
                                                                       at java.util.concurrent.FutureTask.run(FutureTask.java:234)
                                                                       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 
                                                                       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 
                                                                       at java.lang.Thread.run(Thread.java:856) 
08-30 15:30:08.891 1090-1090/com.adpages.android D/libEGL: loaded /system/lib/egl/libEGL_genymotion.so

编辑:

dependencies {
    compile project(':react-native-flurry-analytics')
    compile project(':react-native-fetch-blob')
    compile project(':react-native-permissions')
    compile project(':react-native-animation')
    compile project(':react-native-mail')
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:25.0.0'
    compile 'com.facebook.react:react-native:+'
    compile project(':react-native-share')
    compile project(':react-native-onesignal')

    compile(project(':react-native-maps')) {
      exclude group: 'com.google.android.gms', module: 'play-services'
      exclude group: 'com.google.android.gms', module: 'play-services-maps'
      exclude group: 'com.google.android.gms', module: 'play-services-location'
      exclude group: 'com.google.android.gms', module: 'play-services-gcm'
    }
    compile 'com.google.android.gms:play-services:10.2.1'
    compile 'com.google.android.gms:play-services-location:10.2.1'
    // Required for OneSignal, even if you have added FCM.
    compile 'com.google.android.gms:play-services-gcm:10.2.1'
}

【问题讨论】:

    标签: reactjs react-native react-native-android


    【解决方案1】:

    这些情况一直是 Android 的痛点。
    由于您使用的 play-services 版本与 react-native-maps 的版本不同,因此您需要从 react-native-maps 中排除这些包并像这样手动添加它们。

    compile(project(':react-native-maps')) { 
        exclude group: 'com.google.android.gms', module: 'play-services-base' 
        exclude group: 'com.google.android.gms', module: 'play-services-maps' 
        exclude group: 'com.google.android.gms', module: 'play-services-location' 
    exclude group: 'com.google.android.gms', module: 'play-services-gcm' 
    } 
    compile "com.google.android.gms:play-services-base:10.2.1" 
    compile "com.google.android.gms:play-services-maps:10.2.1" 
    compile 'com.google.android.gms:play-services-location:10.2.1' 
    // Required for OneSignal, even if you have added FCM. 
    compile 'com.google.android.gms:play-services-gcm:10.2.1'
    

    【讨论】:

    • 没有重复您提到的任何文件://
    • @IvRRimUm 您可以在 build.gradle 文件中发布依赖项部分吗?某处有重复,但不一定是 Firebase。
    • @IvRRimUm 是 gms 部门。删除 compile 'com.google.android.gms:play-services-location:10.2.1' compile 'com.google.android.gms:play-services-gcm:10.2.1' 并从那里开始。
    • 删除了他们两个,仍然得到:* What went wrong: Execution failed for task ':app:transformClassesWithJarMergingForRelease'. &gt; com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/android/gms/internal/zzbyb.class
    • @IvRRimUm 你在构建之前先运行 ./gradlew clean 吗?
    【解决方案2】:

    好像你在 AndroidManifest.xml 上有一个双倍的权限请求

    你检查了吗?

    Element uses-permission#android.permission.WRITE_EXTERNAL_STORAGE at AndroidManifest.xml:9:5-81 duplicated with element declared at AndroidManifest.xml:5:5-81

    【讨论】:

    • 您是否在删除重复记录后尝试进行 gradle clean ?你能再试一次并再次发布错误吗?
    • 不是同一个错误。 com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/android/gms/internal/zzbyb.class Here 你的第二个错误的答案。
    • 首先尝试使用命令 react-native unlink library name 取消链接库,然后使用 npm uninstall library name 删除
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-28
    • 2022-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-02
    相关资源
    最近更新 更多