如何在没有 Gradle 的 Eclipse 中的 Android 项目上启用 multidex
Posted
技术标签:
【中文标题】如何在没有 Gradle 的 Eclipse 中的 Android 项目上启用 multidex【英文标题】:How to make multidex enabled on an Android project in Eclipse WITHOUT Gradle 【发布时间】:2017-05-27 06:11:18 【问题描述】:我正在使用没有Gradle
的 Eclipse 构建一个 android 应用程序。每当我运行应用程序时,都会发生以下错误 -
01-12 15:31:49.874: E/AndroidRuntime(8125): java.lang.NoClassDefFoundError:解析失败: Lcom/google/android/gms/R$string; 01-12 15:31:49.874: E/AndroidRuntime(8125):在 com.google.android.gms.common.internal.zzaj.(未知来源) 01-12 15:31:49.874: E/AndroidRuntime(8125): 在 com.google.firebase.FirebaseOptions.fromResource(未知来源)01-12 15:31:49.874:E/AndroidRuntime(8125):在 com.google.firebase.FirebaseApp.initializeApp(未知来源)
我认为错误是因为Multidex
未启用。如果没有gradle
,如何启用它?还有其他可能导致此错误的原因吗?谢谢你
【问题讨论】:
【参考方案1】:使用 Eclipse ADT for MultiDex 时,您也可以使用 Maven 构建应用程序。
要使用 android-maven-plugin 激活 MultiDex,请关注http://docs.repro.io/en/dev/sdk/getstarted/android-multidex.html#android-maven-pluginmultidex
您需要在 pom.xml 中的 <project><build><plugins>
标签内添加下面的 sn-p
<plugin>
<groupId>com.simpligility.maven.plugins</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>4.3.0</version>
<extensions>true</extensions>
<configuration>
<sdk>
<platform>23</platform>
<path>$user.home/Library/Android/sdk</path>
</sdk>
<androidManifestFile>$project.basedir/AndroidManifest.xml</androidManifestFile>
<resourceDirectory>$project.basedir/res</resourceDirectory>
<assetsDirectory>$project.basedir/assets</assetsDirectory>
<nativeLibrariesDirectory>$project.basedir/libs</nativeLibrariesDirectory>
<dex>
<multi-dex>true</multi-dex>
</dex>
</configuration>
</plugin>
【讨论】:
以上是关于如何在没有 Gradle 的 Eclipse 中的 Android 项目上启用 multidex的主要内容,如果未能解决你的问题,请参考以下文章
如何让 Eclipse 使用 Gradle 生成 MapStruct 映射器
Eclipse ADT 项目中的 Android 数据绑定(无 gradle)
如何将 gradle 生成的源文件夹添加到 Eclipse 项目?