And*_*eas 1 java android build-process
我正在开发一个通用的Android游戏引擎,它将在我的许多Android应用程序中用作基本系统.问题是,在我的所有Java文件中,我目前必须对软件包名称进行硬编码,如下所示:
package com.example.mygameengine;
Run Code Online (Sandbox Code Playgroud)
但是因为我想在许多不同的应用程序中使用我的通用游戏引擎的代码,我需要找到一种方法来在编译时指定Java文件的包名称,因为我不想保留我的Java源代码的几个副本因为包名的不同.我希望有一个中央源代码树,包名称应该可以动态更改,具体取决于我即将编译的应用程序.
那么有办法做这样的事情:
package $(PACKAGE_NAME)
Run Code Online (Sandbox Code Playgroud)
在Java源代码中,在编译时将$(PACKAGE_NAME)替换为真实的包名?也许javac有一个选项允许我为它传递的文件指定一个包名,而不是从文件本身中取出它?请注意,我没有使用Eclipse,而是使用ant和make等准系统命令行工具.
编辑:我不明白为什么这被标记为重复.我已经问过一个基本问题,即Java语言中的"package"指令是否需要源代码中的硬编码字符串参数,或者是否也可以使用编译器指令在编译时设置此包名称.这是一个完全不同的问题,而不是在这里被链接为假定的"原始"问题,它与Android构建系统关系更紧密.我的问题是关于Java语言的基础知识,而不是Android构建系统.
你能将你的通用游戏引擎代码构建成一个独立的JAR吗?
然后,您可以将其作为依赖项包含在使用它的每个Android应用中.
通过适当的版本控制,您将只有一个存储此代码的中心位置.