Lap*_*aig 6 eclipse android cordova
起初我不得不说我对英语不太好,所以如果我能很好地解释我的意思,我很抱歉:)
我有一个项目,我需要复制n次; 每个新项目必须具有相同的源代码,但不同的资源(例如:图像,html文件,声音,pdf等)和不同的类/包名称.
我的项目不是标准的java,而是android + phonegap.我有一个eclipse插件,创建一个空的phonegap项目...也许有一种方法来修改这个插件来创建我的标准项目?
可能吗?最好的方法是还有一个系统将主要项目的源变更提交给孩子,但这不是强制性的.
对不起我的英语.
编辑:
对不起,如果我再次编辑这个问题,但实际上我找不到解决我的问题的方法.
我想将它与一个例子集成,也许我可以解释我需要什么.
想象一下,你已经为eclipse和phonegap开发了android应用程序,对于足球队来说,例如巴塞罗那.
该应用程序主要是在html + jquerymobile,但你已经修改了活动,android清单,添加了一些phonegap插件,一些媒体资源等.
现在你必须为更多的团队,很多团队复制这个应用程序.对于每个人,您必须创建一个新的phonegap项目,修改每个文件,添加插件,添加资产......这些任务不能没有错误.
但是最大的问题是:如果您的代码中只有一点点更新,那么如何在10/20/50/100/1000项目中复制它?
我已经添加了android,phonegap和cordova标签,以便更具体.
对不起我的英语.
编辑N°2
我刚刚玩了maven android插件一个多星期了,但没有成功.我需要的是集中代码,我可以在其中切换应用程序和包名,图标以及一些配置文件.
Android libs不是解决方案,因为它无法导出资产文件.
我开始为这个问题寻找详细答案的赏金...请帮助:(
从维护的角度来看,我不会考虑基于相同的代码库复制1000个项目.我将使用单个项目管理客户特定的资源,并在项目构建阶段交换所需的资源.换句话说,1个项目构建1000个apks,而不是1000个项目来构建1000个apks.
基于您在问题中给出的详细信息,正确的方向(据我所知)来解决这种使用场景(从单一源代码库构建多个应用程序)是采用外部构建工具,如Ant或Maven支配构建进程(两者都提供了在完整的构建生命周期中对每一步(即编译,dex,包等)进行精细控制的能力),并且如果需要,可以编写用于批量构建的shell脚本.
我不是PhoneGap的乐趣,但是根据我的理解快速浏览它的入门指南,它只是Android SDK上的另一个编程层堆栈,提供主要使用Web编程语言编写移动应用程序的能力( HTML,CSS,Javascript),应用程序仍保留原始项目框架,因此我不会期望编写Ant/Maven脚本来构建PhoneGap应用程序.
一旦您成功构建了Maven的PhoneGap应用程序.您可以开始研究如何解决您的场景,我在StackOverflow之前已经看过类似的场景,请查看此线程和此线程以进行一些案例研究.您可以启动概念验证项目进行可行性研究.
我发布了一些示例代码,展示了Maven如何实现这一点,见下文.
示例项目目录结构:
myApp/
src/
res-barcelona/
assets-barcelona/
res-realmadrid/
assets-realmadrid/
... ...
project.properties
AndroidManifest.xml
pom.xml
Run Code Online (Sandbox Code Playgroud)
示例pom.xml文件:
<profiles>
<profile>
<id>barcelona</id>
<properties>
<app.package.name>com.company.app.barcelona</app.package.name>
<app.res.dir>${project.basedir}/res-barcelona</app.res.dir>
<app.assets.dir>${project.basedir}/assets-barcelona</app.assets.dir>
</properties>
</profile>
<profile>
<id>realmadrid</id>
<properties>
<app.package.name>com.company.app.realmadrid</app.package.name>
<app.res.dir>${project.basedir}/res-realmadrid</app.res.dir>
<app.assets.dir>${project.basedir}/assets-realmadrid</app.assets.dir>
</properties>
</profile>
... ...
</profiles>
....
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.1.1</version>
<extensions>true</extensions>
<configuration>
<sdk>
<platform>13</platform>
</sdk>
<undeployBeforeDeploy>true</undeployBeforeDeploy>
<renameManifestPackage>${app.package.name}</renameManifestPackage>
<resourceDirectory>${app.res.dir}</resourceDirectory>
<assetsDirectory>${app.assets.dir}</assetsDirectory>
</configuration>
</plugin>
... ...
</plugins>
Run Code Online (Sandbox Code Playgroud)
要构建app-barcelona.apk,请运行mvn clean install -Pbarcelona.
要构建app-realmadrid.apk,请运行mvn clean install -Prealmadrid.
要构建其他1000个apks,请编写shell脚本.
Android Maven插件提供了许多配置,让您可以在每个阶段/目标中精细控制构建过程.查看项目文档以获取完整详细信息.
| 归档时间: |
|
| 查看次数: |
3758 次 |
| 最近记录: |