3

我对来自 iOS/xCode 背景的 Java 和 Eclipse 很陌生。我有一个 iOS 项目,它有 2 个构建,1 个使用测试服务器,1 个使用实时服务器。在 xCode 中,这只是添加新构建目标(预处理器宏)的简单情况,而不是在代码中使用 #ifdef 为每个构建使用单独的 url。将其移植到 Android,每次我想在 2 个版本之间构建/测试时,我都会列出我需要做的事情

TO SWITCH BETWEEN LIVE AND TEST
Rename Application Package com.mybus.myapp/com.mybus.myapptestserver (Right click, Android Tools, Rename Application Package).
Rename com.mybus.myapp folder to com.mybus.myapptestserver.
Change Map API key in manifest
Change SENDER_ID in BeginActivity.java (Notification app ID).
Search and change all references com.mybus.myapp/com.mybus.myapptestserver (Including SharedPreferences).
Change URL's in ConnectionHelper.java and PasswordResetConnection.java
Change icon and label in Manifest for Application & BeginActivity.
Remove crash reporter (ACRA) from MyApplication.java.
Change .setSmallIcon(R.drawable.ic_test_launcher) & .setContentTitle("myapptestserver") in GCMIntentService.java

当然有更简单的方法来构建单独的构建并允许它们同时在一个设备上?

4

1 回答 1

0

您可以使用 Ant 脚本来执行此操作。一旦您自定义了 Ant 脚本以处理所有这些更改,您就可以通过运行 ant release 命令获得最终输出。

你可以从一个小例子开始。我已经写了一篇关于它的帖子。这个 ant 脚本不会更改文件中的任何值,但它的作用是输出具有选定名称格式的最终​​ apk,并将其放在指定的文件夹中。

http://techdroid.kbeanie.com/2011/09/automating-builds-on-android-part-1.html

http://techdroid.kbeanie.com/2011/09/automating-builds-on-android-part-2.html

免责声明:这些是指向我的博客文章的链接。

于 2013-05-09T08:34:38.983 回答