【问题标题】:Android compilation: what differences can make code compile on one computer but fail on anotherAndroid 编译:哪些差异可以使代码在一台计算机上编译但在另一台计算机上失败
【发布时间】:2017-12-11 23:21:30
【问题描述】:

我在 Ionic 有一个项目,我正在尝试用 ionic cordova build android --prod --release 编译它 - 它是完全相同的代码(从同一个远程存储库中提取,同一个提交,干净的位置)。

问题是:在一台计算机上,该命令按预期生成.apk 文件。 在另一台计算机上,命令失败(在问题结束时,我将发布错误)。

Android Studio 几乎是同一个版本(次要版本略有不同),并且在偏好设置中 SDK Platforms、SDK Tools 和 SDK Update Sites 中的所有设置都完全相同。

所有其他相关软件的版本完全相同。

C:\Users\my_user>ionic -version
3.19.0

C:\Users\my_user>java -version
java version "1.8.0_151"

C:\Users\my_user>gradle -v

------------------------------------------------------------
Gradle 4.4
------------------------------------------------------------

Build time:   2017-12-06 09:05:06 UTC
Revision:     cf7821a6f79f8e2a598df21780e3ff7ce8db2b82

Groovy:       2.4.12
Ant:          Apache Ant(TM) version 1.9.9 compiled on February 2 2017
JVM:          1.8.0_151 (Oracle Corporation 25.151-b12)
OS:           Windows 10 10.0 amd64

我应该检查的计算机之间有什么不同? 也许一些环境变量?哪些?

编译错误是:

* What went wrong:
Execution failed for task ':transformClassesWithDexForRelease'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lorg/apache/cordova/PermissionHelper;

然后我通过在platforms\android\build.gradle 文件的defaultConfig 部分中添加multiDexEnabled true 来解决此问题,并得到另一个错误:

* What went wrong:
Execution failed for task ':transformClassesWithJarMergingForRelease'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: org/apache/cordova/PermissionHelper.class

我应该检查的计算机之间有什么不同? 也许一些环境变量?哪些?

【问题讨论】:

    标签: android cordova android-studio ionic-framework ionic3


    【解决方案1】:

    发现问题。发帖以防万一。

    问题在于不同的cordova 版本(使用cordova -version 获取)。 一台计算机有 7.0.1(并且不能创建 .apk)。 另一台计算机有 7.1.0(并且可以创建一个 .apk)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-17
      • 1970-01-01
      • 2016-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-05
      • 1970-01-01
      相关资源
      最近更新 更多