为什么需要 Android Studio / Eclipse 来构建 ANE?

Why is Android Studio / Eclipse necessary to build an ANE?

我使用以下过程为 Android 创建了基于 Java 的 ANE。

  1. 为 Android 平台编译 java 文件及其依赖项。
  2. 使用 Java SDK 创建 .jar 文件。
  3. 创建 .swc 文件。
  4. 使用 ADT 打包 ANE。

当我使用该 ANE 打包 APK 时,出现以下错误:

dx tool failed:Compilation failed with an internal error. java.lang.IllegalArgumentException at com.android.tools.r8.org.objectweb.asm.ClassReader.<init>(ClassReader .java:160) at com.android.tools.r8.org.objectweb.asm.ClassReader.<init>(ClassReader .java:143) at com.android.tools.r8.org.objectweb.asm.ClassReader.<init>(ClassReader .java:418) at com.android.tools.r8.graph.JarClassFileReader.read(JarClassFileReader .java:91) at com.android.tools.r8.dex.ApplicationReader$ClassReader.lambda$readCla ssSources(ApplicationReader.java:231) at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(Unknown Source ) at java.util.concurrent.ForkJoinTask.doExec(Unknown Source) at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(Unknown Source) at java.util.concurrent.ForkJoinPool.runWorker(Unknown Source) at java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

我知道我没有遵循使用 Android Studio 或 Eclipse 或类似 IDE 的常规路线。我只是使用命令提示符来实现构建 ANE。

我在这里错过了什么? Android Studio 在输出打包到 ANE 中的 .jar 文件之前是否做了一些特定的事情?

将 javac 中的发布标志更改为 --release 8,APK 已正确创建。早些时候,发布标志设置为 16.