我解决了这个问题!这是解决方案,也许有人会发现它有用。bat 文件的命令。
您需要有:7zip 归档程序、Android SDK、JDK 1.7。
用于制作此内容的资源链接:http:
//developer.android.com/tools/publishing/app-signing.html
http://developer.android.com/tools/building/index.html
SET app_input_file_name=%1
SET tmp_app_name="tmp_app_name.zip"
SET zip_tool_path="C:\Program Files\7-Zip\7z.exe"
rem 1. 创建 AndroidSampleApp.apk 的副本并将其重命名为 AndroidSampleApp.zip
copy %app_input_file_name% %tmp_app_name%
rem 2. 从 AndroidSapleApp.zip 文件中提取文件夹 res/ 到根文件夹。
%zip_tool_path% x %tmp_app_name% res/
rem 3. 删除 META-INF 和 res 文件夹。
%zip_tool_path% d %tmp_app_name% res
%zip_tool_path% d %tmp_app_name% META-INF
在对资源进行更改后:
SET app_output_file_name=%1
SET tmp_app_name="tmp_app_name.zip"
SET dev_certificate="mycert.keystore"
SET dev_certificate_alias="mycert"
SET zip_tool_path="C:\Program Files\7-Zip\7z.exe"
SET jarsigner_tool_path="C:\Program Files\Java\jdk1.7.0_17\bin\jarsigner.exe"
SET zipalign_tool_path="D:\SDKs\android-sdk_r18-windows\android-sdk-windows\tools\zipalign.exe"
rem 4. 对解压的 res 文件夹进行修改,不能删除或添加任何新文件!!只改变图像。rem 5. 使用压缩方法 Store 将修改后的 res/ 文件夹添加到 AndroidSapleApp.zip。
%zip_tool_path% a %tmp_app_name% res -mx0
rem 6. 删除 res/ 文件夹
rmdir res /s /q
rem 7. 将 AndroidSapmleApp.zip 重命名为 AndroidSapmleApp.apk
copy %tmp_app_name% %app_output_file_name%
rem 8. 使用您的证书 mycert.keystore 签署应用程序
%jarsigner_tool_path% -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore %dev_certificate% %app_output_file_name% %dev_certificate_alias%
rem 9. 确认一切正常
%jarsigner_tool_path% -verify %app_output_file_name%
rem 10. *.apk 上的 zipalign:
%zipalign_tool_path% -v -f 4 %app_output_file_name%
rem 11. 删除旧应用: adb uninstall com.partypoker.poker
rem adb uninstall com.packagename
rem 12. 将应用程序安装到模拟器/设备。
rem adb install AndroidSapmleApp.apk