2015-04-07 82 views
2

我使用Unity 5.它仍然期望Java插件是使用JDK 1.6构建的.jar文件。如何让Android Studio将资源包含在.jar文件中?

我曾在Unity 4下工作,但他们改变了一些东西。现在,我得到这个错误,而从统一建设APK:

已淘汰 - 在资产/插件/ Android设备/ RES 提供Android的资源已被弃用,请移动你的资源到Android库。请参阅手册的 “Android版建筑插件”部分。

如何获得AS将资源放入classes.jar? “Android的建筑插件”没有提及资源。

关于我的项目的其他信息:

项目引用谷歌游戏服务,所以我需要version.xml在那里

<integer name="google_play_services_version">6587000</integer> 

其中包含清单中的参考版本号。

<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> 

但如果我包括RES /值这个文件在我作为库项目,它仍然在RES /值的XML文件输出的classes.jar旁边。

顺便说一句,我建立了项目后挖.jar文件出来

/ApplicationName/build/intermediates/exploded-aar/ProjectName/LibararyName/unspecified/classes.jar

+0

您是否尝试过使用Resources文件夹?我认为它会发送到res,但你将不得不在它的内部嵌套一个文件夹。我从来没有使用res文件夹,因为当我在Unity中使用Resources文件夹并将其转换为android Studio时。它会自动将其放置在res文件夹中。 – Aizen

回答

5

首先,这是一个警告,而不是一个错误。

不建议在Unity资源/插件/ Android/res /文件夹中提供资源,因为它可能会导致资源冲突。

当您在Android库中提供资源时,它们在构建过程中被正确合并。

基本上,你有三种选择:

  • 转换你的插件成一个Android库。或者你可以初始化一个空的库,将你的.jar文件添加到bin /,你的资源res /(在project.properties中应该有一个manifest和android.library = true)。您可以通过调用android create lib-project(more details
  • 如果您在Android Studio中编译您的插件来执行此操作,您可以使用.aar文件生成,因为您已将项目设置为库(apply plugin:' com.android.library'在你的Gradle文件中)。只要将它放在项目的任何文件夹中,它就会自动检测为仅限Android的插件。
  • 继续在res /中提供资源并等待它完全不受Unity支持。

希望这会有所帮助。

+0

我没有试过.aar,因为Unity的文档说它必须是.jar。我会尝试。 – Almo

相关问题