如何让 Android Studio 将资源包含在 .jar 文件中?
How do I get Android Studio to include resources in a .jar file?
我正在使用 Unity 5。它仍然希望 java 插件是使用 JDK 1.6.
构建的 .jar 文件
我在 Unity 4 下工作,但他们改变了一些东西。现在我在从 Unity 构建 apk 时遇到此错误:
OBSOLETE - Providing Android resources in Assets/Plugins/Android/res
is deprecated, please move your resources to an Android Library. See
"Building Plugins for Android" section of the Manual.
如何让AS将资源放入classes.jar? "Building Plugins for Android" 没有提到资源。
关于我的项目的其他信息:
该项目引用 Google 播放服务,所以我需要 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" />
但是,如果我在我的 AS 库项目中将此文件包含在 res/values 中,它仍然会在 res/values 中作为 classes.jar 中的 xml 文件输出。
顺便说一下,我正在从
中提取 .jar 文件
/ApplicationName/build/intermediates/exploded-aar/ProjectName/LibararyName/unspecified/classes.jar
构建项目后。
首先,这是警告,不是错误。
不建议在 Assets/Plugins/Android/res/ 文件夹中提供 Unity 中的资源,因为这会导致资源冲突。
当您在 Android 库中提供资源时,它们会在构建过程中正确合并。
基本上,您有三个选择:
- 将您的插件转换为 Android 库。或者你可以初始化一个空库,将你的 .jar 文件添加到 bin/,你的资源到 res/(应该有一个清单和 android.library=true in project.properties)。您可以通过调用 android create lib-project (more details)
来完成此操作
- 如果您直接使用 gradle 或在 Android Studio 中编译插件,您可以使用生成的 .aar 文件,前提是您已将项目设置为库(应用插件:'com.android.library' 在你的 build.gradle 文件中)。只需将它放在项目的任何文件夹中,它就会自动被检测为 Android-only 插件。
- 继续在res/中提供资源,等待Unity完全不支持。
希望对您有所帮助。
我正在使用 Unity 5。它仍然希望 java 插件是使用 JDK 1.6.
构建的 .jar 文件我在 Unity 4 下工作,但他们改变了一些东西。现在我在从 Unity 构建 apk 时遇到此错误:
OBSOLETE - Providing Android resources in Assets/Plugins/Android/res is deprecated, please move your resources to an Android Library. See "Building Plugins for Android" section of the Manual.
如何让AS将资源放入classes.jar? "Building Plugins for Android" 没有提到资源。
关于我的项目的其他信息:
该项目引用 Google 播放服务,所以我需要 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" />
但是,如果我在我的 AS 库项目中将此文件包含在 res/values 中,它仍然会在 res/values 中作为 classes.jar 中的 xml 文件输出。
顺便说一下,我正在从
中提取 .jar 文件/ApplicationName/build/intermediates/exploded-aar/ProjectName/LibararyName/unspecified/classes.jar
构建项目后。
首先,这是警告,不是错误。
不建议在 Assets/Plugins/Android/res/ 文件夹中提供 Unity 中的资源,因为这会导致资源冲突。
当您在 Android 库中提供资源时,它们会在构建过程中正确合并。
基本上,您有三个选择:
- 将您的插件转换为 Android 库。或者你可以初始化一个空库,将你的 .jar 文件添加到 bin/,你的资源到 res/(应该有一个清单和 android.library=true in project.properties)。您可以通过调用 android create lib-project (more details) 来完成此操作
- 如果您直接使用 gradle 或在 Android Studio 中编译插件,您可以使用生成的 .aar 文件,前提是您已将项目设置为库(应用插件:'com.android.library' 在你的 build.gradle 文件中)。只需将它放在项目的任何文件夹中,它就会自动被检测为 Android-only 插件。
- 继续在res/中提供资源,等待Unity完全不支持。
希望对您有所帮助。