之前写的一个Ant打包的脚本(当然也是参考网络文章的)博文:http://androiddada.iteye.com/blog/1626541
最近又用起来了,但是发现生成的APK竟然不能正常安装,老是提示:签名错误之类的
经过一天多的查找与疯狂搜索,终于发现了原因:
之前用的都是JDK1.6 但是后来新的环境用的是1.7,所以在签名时产生了问题
只需要在签名时,加上2个参数即可:
<!-- 步骤8. 签名APK文件 --> <target name="jarsigner" depends="debug" > <echo> jarsigner ${out-signed-package-ospath} </echo> <exec executable="${jarsigner}" failonerror="true" > <arg value="-verbose" /> <arg value="-storepass" /> <arg value="${keypass}" /> <arg value="-keystore" /> <arg value="${keystore}" /> <arg value="-signedjar" /> <arg value="${out-signed-package-ospath}" /> <arg value="${out-unsigned-package-ospath}" /> <arg value="${key}" /> <!-- 注意: jdk1.7要添加这一行参数!! --> <arg line="-digestalg SHA1 -sigalg MD5withRSA" /> </exec> </target>
相关推荐
3. 自动化:Ant可以自动化整个构建流程,减少手动操作。 4. 可扩展性:通过自定义任务,可以实现任何复杂的需求。 5. 与其他工具的集成:Ant可以轻松地与其他Java工具,如Maven和Gradle,进行集成。 总的来说,...
- **Ant**更加灵活,但需要手动配置更多细节,适合已有的复杂构建流程。 - **Maven**则通过约定优于配置的理念简化了项目结构和依赖管理,但灵活性相对较弱。 6. **Ant与持续集成** - Ant可以与持续集成工具(如...
通过自动化测试,开发者可以专注于核心业务逻辑的实现,而不是手动重复测试过程。 总结起来,"JUnit与Ant教程"将详细介绍这两个工具的使用,帮助读者掌握如何编写和组织单元测试,以及如何利用Ant进行构建自动化。...
3. **提交(Commit)**:当开发者完成了某个功能或修复了bug,他们可以编写Ant任务来自动执行`svn commit`,将更改上传到svn仓库。不过,一般建议手动检查和提交,以确保提交的信息准确无误。 4. **部署(Deploy)*...
Ant是Java项目中的构建工具,它通过XML配置文件定义了一系列任务,如编译源代码、打包、测试等,实现了对整个项目生命周期的管理。Ant的核心优势在于其灵活性和可扩展性,开发者可以根据需要自定义任务和插件。在...
这样的自动化测试流程不仅节省了手动测试的时间,还能帮助团队尽早发现和修复bug,提升代码质量。 为了进一步扩展这个demo,你可以考虑以下几个方向: 1. 添加更多的测试用例,覆盖更多的业务逻辑和边界条件。 2. ...
- **Ant**:依赖管理相对较为简单,通常需要手动添加依赖到构建脚本中,并且没有内置的依赖版本控制机制。 - **Maven**:内置了强大的依赖管理功能,可以自动解决依赖冲突,支持多版本依赖的管理。 3. **文档与...
标题“ant-bz-62330”和描述中的相同内容可能是在引用一个特定的错误报告或问题追踪编号,通常在开源项目中用来标识和跟踪特定的bug或改进。在这种情况下,它可能是Apache Ant项目的一个bug报告或者版本号。Apache ...
Apache Ant是一个流行的Java项目构建工具,基于XML配置,提供了一系列的任务来编译、打包、测试和部署Java应用程序。Version_Tool Ant任务扩展了Ant的功能,使版本管理变得更加简单和灵活。 使用Version_Tool,你...
Ant的任务包括编译Java源代码、复制文件、执行单元测试、打包JAR或WAR文件等。在`build.xml`中,开发者可以定义多个目标,每个目标代表一个特定的构建阶段,并且可以相互依赖。例如,一个常见的目标可能是`clean`,...
Maven使用约定优于配置的原则,简化了项目设置,而Ant则更灵活,但需要更多的手动配置。 3. **多范围开发环境**:这通常指的是开发者可能需要在不同的环境中工作,比如开发、测试、生产等。每个环境可能有不同的...
2. **配置**:确定你想要打包的源代码、资源文件和依赖库,并创建一个描述这些内容的配置文件,如`build.xml`(如果使用Ant)或`pom.xml`(如果使用Maven)。 3. **执行**:在命令行中运行fatjar,指定配置文件和...
解决方案是确保应用程序打包格式正确,例如使用正确的WAR文件格式。 #### 第5章 其它说明 ##### 5.1 CI挑战 - 持续集成(CI)面临的挑战包括构建时间过长、测试覆盖率不足、构建频繁失败等问题。 ##### 5.2 ANT...
Maven的出现是为了解决Ant等早期构建工具存在的问题,如配置复杂和重复性高。Maven引入了基于项目对象模型(Project Object Model,POM)的理念,将项目配置简化为XML格式的文件,极大地提高了开发效率。POM中包含了...
4. **插件**: Maven通过插件机制扩展功能,如编译、测试、打包、部署等都由对应的插件实现。 5. **项目信息管理**: POM文件不仅包含依赖信息,还记录项目的基本信息,如作者、版本、描述等。 **使用Maven** 1. **...
关于标签“gradle”,它是目前广泛使用的构建自动化工具,用于替代 Maven 和 Ant。Gradle 具有灵活的构建脚本语法,支持多种语言,可以方便地集成其他构建工具。在 MyBatis 项目中,使用 Gradle 进行构建,可以方便...
Maven自动处理构建过程,如编译、测试、打包、文档生成等,而Ant则更注重于手动配置和脚本编写。 4. Maven的基本功能 - 构建:创建Java类、JAR、WAR或EAR文件。 - 文档生成:生成Javadoc和其他项目文档。 - 报告...
Apache Ant是一个基于任务驱动的构建工具,允许开发者编写XML配置文件来定义构建过程,包括编译、打包、测试等任务。Ivy作为Ant的补充,处理的是构建过程中依赖库的下载、管理和版本控制。 Apache Ivy 2.5.0版本的...
关于Maven-3.6.3版本,它可能包含了性能提升、bug修复和新功能。具体更新内容可以查看官方发布日志,但这里我们可以推测一些常见的改进,比如更快的依赖解析速度、更稳定的插件执行和更好的兼容性。 在解压`apache-...
10. **持续集成/持续部署(CI/CD)**:为了提高开发效率和代码质量,项目可能还采用了 Jenkins、GitLab CI/CD 等工具进行持续集成和持续部署,确保代码更新后能自动构建和部署,降低手动操作的风险。 以上就是关于...