如何在 libGDX for Android 中使用 MultiDexApplication
Posted
技术标签:
【中文标题】如何在 libGDX for Android 中使用 MultiDexApplication【英文标题】:How can I use MultiDexApplication in libGDX for Android 【发布时间】:2016-05-02 21:27:10 【问题描述】:我阅读了很多关于这个主题的讨论,但没有找到任何确切的答案。有人说您应该使用 android Studio 而不是 Eclipse,因为它支持 Gradle 并使用 Maven 构建。但我使用 libGDX 在 Eclipse 中开发游戏,它也支持 Gradle 和 Maven 构建。另一个说您应该从路径 SDK 工具或 Gradle 添加 multidex.jar
然后在 gradle 中启用它,然后扩展 MultiDexApplication
而不是 Application
然后将其安装在 attachBaseContext
方法中。很好,但它不起作用。
我怎样才能扩展MultiDexApplication
而不是AndroidApplication
?。
libGDX 在Application
上是否有修改类,如AndroidApplication
但在MultiDexAndroidApplication
情况下?
另一个说你应该将你的项目转换为 Maven 项目或在pom.xml
文件中添加一些行来构建许多 dex 文件!!。
我阅读了有关此主题的更多信息,但没有任何答案可以解决此问题(在使用 Eclipse 的 libGDX 案例中)。
任何帮助!
【问题讨论】:
【参考方案1】:您可以像这样在 Gradle (android/build.gradle) 中设置启用多 dex:
android
buildToolsVersion "23.0.2"
compileSdkVersion 23
defaultConfig
multiDexEnabled = true
applicationId = package_name
dexOptions
javaMaxHeapSize "4g"
lintOptions
disable 'ExportedContentProvider', 'IconColors'
sourceSets
main
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jniLibs.srcDirs = ['libs']
instrumentTest.setRoot('tests')
我相信您需要添加的唯一行是:
defaultConfig
multiDexEnabled = true
applicationId = <your_package_name>
【讨论】:
这种方式我试过很多次了。它对我不起作用。诡异的!对你有用吗? 我不确定我们是否有相同的目标。我遇到了 dex 错误,我发现我需要启用这个 multi dex 选项来解决这个问题。这对我有用。 你和我一样用eclipse吗!? 当我在我的问题中提到您的回答时,您的回答没有什么特别之处。 :( 我不久前从 eclipse 搬到了 android studio。更好的 gradle 支持。这与我更改为 multidex 的点大致相同,所以也许 Android studio/intelij 在 idk 的底层做了其他事情。以上是关于如何在 libGDX for Android 中使用 MultiDexApplication的主要内容,如果未能解决你的问题,请参考以下文章
如何在Android Studio中调试“桌面”libgdx应用程序
如何使用libGDX在iOS / Android后台运行应用程序
LibGdx 如何从 libgdx 类返回到 androidActivity
在 Android 上使用来自 libGDX 的 SQLite