如何通过Java代码以编程方式生成APK文件

syed99

我需要通过某些Java程序(在其中选择Android源项目)来生成或构建APK文件。假设我在网页上有一个按钮。单击后,将生成一个.apk文件。

我已经看到我们可以通过Ant和Gradle构建APK文件。但这贯穿命令外壳。我不想在命令外壳中执行此操作。我想编写一个Java程序。或者,也许我可以通过Java程序运行shell命令。

有人可以指导我吗?谢谢

感谢您提供的答案。对于这些答案,我需要通过Gradle或Ant。如果需要,我会这样做。但是,我正在寻找替代方案。

用户名

您可以使用ANT jarant.jarant-launcher.jar
在这种情况下,build.xml应完全指定的路径通过以下方式从您的Java类中调用它:

public class AntTest {
public static void main(String[] args) {
    String build = "D:/xampp/htdocs/aud/TempProject/build.xml";
    generateApkThroughAnt(build);
}
/*
 * Generate APK through ANT API Method
 */
public static void generateApkThroughAnt(String buildPath) {
    File antBuildFile = new File(buildPath);
    Project p = new Project();
    p.setUserProperty("ant.file", antBuildFile.getAbsolutePath());
    DefaultLogger consoleLogger = new DefaultLogger();
    consoleLogger.setErrorPrintStream(System.err);
    consoleLogger.setOutputPrintStream(System.out);
    consoleLogger.setMessageOutputLevel(Project.MSG_INFO);
    p.addBuildListener(consoleLogger);
    BuildException ex = null;
    try {
        p.fireBuildStarted();
        p.init();
        ProjectHelper helper = ProjectHelper.getProjectHelper();
        p.addReference("ant.projectHelper", helper);
        helper.parse(p, antBuildFile);
        p.executeTarget("clean");
        p.executeTarget("release");
    } catch (BuildException e) {
        ex = e;
    } finally {
        p.fireBuildFinished(ex);
    }
   }
   }

要创建build.xml文件,请转到Eclipse => Your Project => Right单击=> Export => General => Ant Buildfiles。之后,您将需要运行:

android update project --name <project_name> --target <target_ID> --path <path_to_your_project>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何以编程方式生成XAML代码?

如何以编程方式生成.class文件?

android 如何以编程方式导出已签名的 apk 文件

如何以编程方式计算APK文件的哈希值?

如何以编程方式(通过代码)调用Gruntfile任务?

如何通过代码以编程方式运行jMeter基准测试?

如何签署以编程方式生成的 iOS 配置文件?

如何通过python从Google Storage以编程方式下载文件?

如何使用Java代码以编程方式创建liquibase dbchangelog?

如何通过TestNG以编程方式运行Selenium Java测试?

以编程方式编译.java文件

如何以编程方式修改现有apk中Assets文件夹中的数据?

如何在Flutter中以编程方式从本地存储安装.apk文件?

以编程方式生成和设计Rdlc文件

我们如何以编程方式生成 MS Teams 代码

如何以编程方式生成代码以在 jsfiddle.net 中显示?

是否可以通过编程方式仅在内存中编译Java源代码?

以编程方式安装APK

以编程方式安装apk

有什么方法可以通过模板以编程方式生成Java类吗?

如何以编程方式在SQLite中创建多个表,即;通过iOS中的代码

如何在Android中以编程方式(通过代码而非xml)使文本发光?

如何通过单击单选按钮使用Dojo来显示/隐藏以编程方式生成的组合框?

如何以编程方式在MediaWiki中通过php生成到页面的链接?

Android:以编程方式从Java代码填充Spinner

在Java中以编程方式生成XSD

如何通过此代码生成一个csv文件

以编程方式生成的函数,如何定义 doc?

如何以编程方式生成记录定义?