如何让Android Studio在.jar文件中包含资源?

Alm*_*lmo 3 jar unity-game-engine android-studio

我正在使用Unity 5.它仍然期望java插件是使用JDK 1.6构建的.jar文件.

我在Unity 4下工作,但他们改变了一些东西.现在我从Unity构建apk时出现此错误:

OBSOLETE - 不建议在Assets/Plugins/Android/res中提供Android资源,请将您的资源移至Android库.请参阅本手册的"为Android构建插件"部分.

如何让AS将资源放入classes.jar?"用于Android的构建插件"未提及资源.

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

该项目引用了Google Play服务,因此我需要version.xml

<integer name="google_play_services_version">6587000</integer>
Run Code Online (Sandbox Code Playgroud)

其中包含Manifest中引用的版本号.

<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
Run Code Online (Sandbox Code Playgroud)

但是如果我将这个文件包含在我的AS库项目的res/values中,它仍然作为一个xml文件输出到classes.jar旁边的res/values中.

顺便说一下,我正在挖掘.jar文件

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

在建立项目之后.

Ove*_*r17 5

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

建议不要在Assets/Plugins/Android/res /文件夹中提供Unity中的资源,因为它可能导致资源冲突.

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

基本上,您有三种选择:

  • 将您的插件转换为Android库.或者你可以初始化一个空库,将你的.jar文件添加到bin /,将你的资源添加到res /(在project.properties中应该有一个清单和android.library = true).你可以通过调用android create lib-project来做到这一点(更多细节)
  • 如果您在Android Studio中编译插件,则可以使用生成的.aar文件,因为您已将项目设置为库(在gradle文件中应用插件:'com.android.library').只需将其放在项目的任何文件夹中,它都应自动被检测为仅限Android的插件.
  • 继续在res中提供资源,并等待Unity完全不支持它.

希望这可以帮助.