用PHP编程修改Android项目并重建它?

时间:2014-01-23 07:46:11

标签: php android

有没有办法以编程方式(使用PHP或CMD)修改Android项目中的文件(例如清单文件,字符串文件,替换图标,更改类变量值),然后将其重新编译为工作的APK文件,可以安装在手机上。

或仅修改raw文件夹中的.txt文件??

1 个答案:

答案 0 :(得分:2)

这取决于安装PHP的方式和位置......

我将为您提供在开发计算机上本地安装PHP并使用Android Studio的方案。

  • 有PHP&正常安装Android Studio
  • 创建一个批处理文件,对您的APK进行签名和拉链对齐。
  • 使用任何形式的文件编辑,使用网站的Ajax / php或任何其他方式编辑项目文件....
  • 运行批处理文件以编译,签名并压缩对齐APK文件。
  • 现在PHP允许您从网页编辑项目,进行更改并将其编译为APK。

此命令会将您的项目编译为发布APK

C:\Users\YOURNAME\AndroidStudioProjects\YOURPROJECT\gradlew.bat aR

以下是一个Windows批处理文件,它将对您的APK文件进行签名,然后将其对齐以便​​为Play商店准备好。 - MyRelease.bat

set strStorePswd=MyPassword
set strOutputName=MyProject.apk
set strKeyAlias=mykeyalias
set strFileTmp=atempfile.apk
set strOutputFolder=C:\Published\YOURPROJECT
set strKeyStore=C:\Users\YOURNAME\AndroidStudioProjects\YOURPROJECT\MyKeyStore.jks
set strOriginal=C:\Users\YOURNAME\AndroidStudioProjects\YOURPROJECT\YOURPROJECT\build\apk\YOURPROJECT-release-unsigned.apk
set strJavaBinPath=C:\Program Files\Java\jdk1.7.0_10\bin
set strAndroidTools=C:\Program Files\Android\android-studio\sdk\tools

REM Change the above to match your setup 
copy "%strOriginal%" "%strOutputFolder%\%strFileTmp%" /Y >nul
"%strJavaBinPath%\jarsigner.exe" -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore "%strKeyStore%" -storepass "%strStorePswd%" "%strOutputFolder%\%strFileTmp%" %strKeyAlias%
"%strAndroidTools%\zipalign.exe" -f -v 4 "%strOutputFolder%\%strFileTmp%" "%strOutputFolder%\%strOutputName%"

del "%strOutputFolder%\%strFileTmp%"

上述批处理文件会将已编译的发布APK文件复制到 C:\ Published \ YOURPROJECT \ atempfile.apk ,然后它将使用jarsign对其进行签名。请注意密钥库文件的位置......然后它最终将APK文件ZipAlign为并删除临时/旧的解压缩对齐文件。此时它应该为游戏商店做好准备。

编辑项目文件

现在您应该能够使用标准的文本编辑方法编辑项目文件,这可能是PHP,注意,Ajax或任何其他内容。一旦项目正确存在,您根本不需要打开Android Studio。

现在使用PHP

使用php,您可以运行以下两个命令,这将编译并准备好您的APK文件以供使用。请注意,我不确定exec是否会等到批处理文件/编译完成。

exec('C:\Users\YOURNAME\AndroidStudioProjects\YOURPROJECT\gradlew.bat aR');
exec('C:\SOMEPATH\MyRelease.bat');

我没有对此进行测试,但它应该有效 - 可能有错误

我唯一可以评论的是,检查上面批处理文件中的所有“设置”变量,确保项目文件有一个gradlew.bat,最后一个但是最少。确保PHP在启动批处理文件之前等待gradle.bat运行。

编辑 - 改进版本

自从回答这个问题以来,我已经改进了批处理文件,并为批处理文件和另一个文件单独完成了一个帖子。 Easy way to compile, sign, zipalign APK for Android Play Store (Also SHA1 Key Viewer)