我做到了。下面是我为下一个人做的事情(使用 Eclipse):
1) 创建一个外部控制台可执行文件,它将向 AndroidManifest.xml 写入新版本代码:(我的是 C#)
using System.IO;
using System.Text.RegularExpressions;
namespace AndroidAutoIncrementVersionCode
{
class Program
{
static void Main(string[] args)
{
try
{
string FILE = @"AndroidManifest.xml";
string text = File.ReadAllText(FILE);
Regex regex = new Regex(@"(?<A>android:versionCode="")(?<VER>\d+)(?<B>"")", RegexOptions.IgnoreCase);
Match match = regex.Match(text);
int verCode = int.Parse(match.Groups["VER"].Value) + 1;
string newText = regex.Replace(text, "${A}" + verCode + "${B}", 1);
File.WriteAllText(FILE, newText);
}
catch { }
}
}
}
除此之外:任何 c-sharp 编译器都可以构建这个应用程序,您不需要 Visual Studio 甚至 Windows
- 如果您还没有,请安装 .NET 运行时 (Mono will work, link) (link to MS's .NET framework 2.0, 2.0 is the smallest download, any version >= 2.0 is fine)
- 将此代码复制到
*.cs 文件(我的命名为:AndroidAutoIncrementVersionCode.cs)
- 打开命令提示符并导航到您创建
*.cs 文件的位置
- 使用此命令构建文件(在 Windows 上,与 Mono 类似,但更改编译器路径):
c:\Windows\Microsoft.NET\Framework\v2.0.50727\csc AndroidAutoIncrementVersionCode.cs
(请参阅:.NET 或 Mono 了解更多信息)
-
恭喜,你刚刚构建了一个没有任何工具的 C# 应用程序,它应该在同一目录下自动生成 AndroidAutoIncrementVersionCode.exe
**里程可能不同,路径可能不同,不需要购买,在禁止的地方无效,我添加这个是因为 C# 很棒,而且人们错误地认为它有 MS 锁定,你可以很容易地把它翻译成另一个语言(但我不会为你这样做;)。顺便说一句,任何 .NET 编译器的任何版本都可以工作,我将代码调整为最小公分母...*
结束
2) 在构建过程中运行可执行文件:
a) 转到项目属性
b) 在属性中,转到“Builders” -> “New...”
c) 选择“程序”
d) 在“主”选项卡中选择程序位置(我还将工作目录设置为安全的)并根据需要为其命名。
e) 在“刷新”选项卡中选择“完成后刷新资源”和“选定资源”选项 - 这将在我们编写清单后刷新它。
f) 在“构建选项”选项卡中,您可以关闭“分配控制台”,因为您没有输入和输出,然后仅选择“在手动构建期间”和“在自动构建期间”,如果它取消选择“清理后”被检查。然后选择“指定相关资源的工作集”并单击“指定资源...”按钮。在“编辑工作集”对话框中,在对话框中找到您的“AndroidManifest.xml”文件并检查它,然后点击“完成”
f) 现在在“编辑配置对话框”和应用程序的属性中点击“确定”,选择新创建的构建器,然后继续点击“向上”直到它位于列表顶部,这样自动增量首先运行,并且不会触发意外的不同步状态或重建。一旦您创建的新构建器位于列表顶部,单击“确定”即可完成。