Экспо построить не удалось - PullRequest
0 голосов
/ 30 июня 2018

В настоящее время не удалось собрать мой expo apk, не знаю почему.

Я только что вытащил последнюю версию с моего рабочего стола, но она отлично работает, когда я ранее собирал на своем ноутбуке.

В любом случае, приложение работает нормально, когда я тестирую его, и я могу подтвердить, что вытащил последнюю версию своего приложения.

Сборка для iPhone работает нормально, но не работает для Android. Вот журнал ошибок:

:app:transformClassesWithDexForProdRelease
[stderr] Dex: Error converting bytecode to dex:
[stderr] Cause: Dex cannot parse version 52 byte code.
[stderr] This is caused by library dependencies that have been compiled using Java 8 or above.
[stderr] If you are using the 'java' gradle plugin in a library submodule add 
[stderr] targetCompatibility = '1.7'
[stderr] sourceCompatibility = '1.7'
[stderr] to that submodule's build.gradle file.
[stderr]     UNEXPECTED TOP-LEVEL EXCEPTION:
[stderr]     java.lang.RuntimeException: Exception parsing classes
[stderr]        at com.android.dx.command.dexer.Main.processClass(Main.java:781)
[stderr]        at com.android.dx.command.dexer.Main.processFileBytes(Main.java:747)
[stderr]        at com.android.dx.command.dexer.Main.access$1200(Main.java:88)
[stderr]        at com.android.dx.command.dexer.Main$FileBytesConsumer.processFileBytes(Main.java:1689)
[stderr]        at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
[stderr]        at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
[stderr]        at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
[stderr]        at com.android.dx.command.dexer.Main.processOne(Main.java:695)
[stderr]        at com.android.dx.command.dexer.Main.processAllFiles(Main.java:560)
[stderr]        at com.android.dx.command.dexer.Main.runMultiDex(Main.java:376)
[stderr]        at com.android.dx.command.dexer.Main.run(Main.java:290)
[stderr]        at com.android.builder.internal.compiler.DexWrapper.run(DexWrapper.java:54)
[stderr]        at com.android.builder.core.DexByteCodeConverter.lambda$dexInProcess$0(DexByteCodeConverter.java:174)
[stderr]        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[stderr]        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[stderr]        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[stderr]        at java.lang.Thread.run(Thread.java:748)
[stderr]     Caused by: com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
[stderr]        at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:476)
[stderr]        at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
[stderr]        at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
[stderr]        at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
[stderr]        at com.android.dx.command.dexer.Main.parseClass(Main.java:793)
[stderr]        at com.android.dx.command.dexer.Main.access$1600(Main.java:88)
[stderr]        at com.android.dx.command.dexer.Main$ClassParserTask.call(Main.java:1728)
[stderr]        at com.android.dx.command.dexer.Main.processClass(Main.java:779)
[stderr]        ... 16 more
[stderr]     
[stderr] Dex: Error converting bytecode to dex:
[stderr] Cause: Dex cannot parse version 52 byte code.
[stderr] This is caused by library dependencies that have been compiled using Java 8 or above.
[stderr] If you are using the 'java' gradle plugin in a library submodule add 
[stderr] targetCompatibility = '1.7'
[stderr] sourceCompatibility = '1.7'
[stderr] to that submodule's build.gradle file.
[stderr]     UNEXPECTED TOP-LEVEL EXCEPTION:
[stderr]     java.lang.RuntimeException: Exception parsing classes
[stderr]        at com.android.dx.command.dexer.Main.processClass(Main.java:781)
[stderr]        at com.android.dx.command.dexer.Main.processFileBytes(Main.java:747)
[stderr]        at com.android.dx.command.dexer.Main.access$1200(Main.java:88)
[stderr]        at com.android.dx.command.dexer.Main$FileBytesConsumer.processFileBytes(Main.java:1689)
[stderr]        at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
[stderr]        at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
[stderr]        at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
[stderr]        at com.android.dx.command.dexer.Main.processOne(Main.java:695)
[stderr]        at com.android.dx.command.dexer.Main.processAllFiles(Main.java:587)
[stderr]        at com.android.dx.command.dexer.Main.runMultiDex(Main.java:376)
[stderr]        at com.android.dx.command.dexer.Main.run(Main.java:290)
[stderr]        at com.android.builder.internal.compiler.DexWrapper.run(DexWrapper.java:54)
[stderr]        at com.android.builder.core.DexByteCodeConverter.lambda$dexInProcess$0(DexByteCodeConverter.java:174)
[stderr]        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[stderr]        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[stderr]        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[stderr]        at java.lang.Thread.run(Thread.java:748)
[stderr]     Caused by: com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
[stderr]        at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:476)
[stderr]        at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
[stderr]        at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
[stderr]        at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
[stderr]        at com.android.dx.command.dexer.Main.parseClass(Main.java:793)
[stderr]        at com.android.dx.command.dexer.Main.access$1600(Main.java:88)
[stderr]        at com.android.dx.command.dexer.Main$ClassParserTask.call(Main.java:1728)
[stderr]        at com.android.dx.command.dexer.Main.processClass(Main.java:779)
[stderr]        ... 16 more
[stderr]     
[stderr] 2 errors; aborting
 FAILED
[stderr] FAILURE: Build failed with an exception.
[stderr] * What went wrong:
[stderr] Execution failed for task ':app:transformClassesWithDexForProdRelease'.
[stderr] > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: Return code 1 for dex process
[stderr] * Try:
[stderr] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 9 mins 20.306 secs

Я не знаком с Java, поэтому не могу проследить, где это пошло не так. Мой app.json файл выглядит так:

{
  "expo": {
    "name": "myApp",
    "icon": "./src/images/myApp.png",
    "version": "1.1.1",
    "description": "myApp description",
    "sdkVersion": "25.0.0",
    "ios": {
      "bundleIdentifier": "com.myApp.myApp",
      "infoPlist": {
        "LSApplicationQueriesSchemes": ["whatsapp"],
        "NSCameraUsageDescription":
          "This app uses the camera"
      }
    },
    "android": {
      "package": "com.myApp.myApp",
      "versionCode": 4
    },
    "splash": {
      "image": "./assets/spashpage.png",
      "resizeMode": "cover"
    }
  }
}

Кто-нибудь знает причину?

...