---
# System prepended metadata

title: Query 69

---

Here's a Java code snippet to automate this process using the GitHub API and Git commands [1][2]:
```
import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.api.PushCommand;
import org.eclipse.jgit.api.RemoteAddCommand;
import org.eclipse.jgit.api.errors.GitAPIException;
import org.eclipse.jgit.transport.URIish;
import org.kohsuke.github.GHCreateRepositoryBuilder;
import org.kohsuke.github.GitHub;
import org.kohsuke.github.GitUser;

import java.io.File;
import java.io.IOException;

public class ShareProjectOnGitHub {
    public static void main(String[] args) {
        String githubUsername = "YourGitHubUsername";
        String githubToken = "YourGitHubAccessToken"; // Generate a personal access token from GitHub

        try {
            // Initialize a Git repository for your Android project
            File localPath = new File("path/to/your/android/project");
            Git git = Git.init().setDirectory(localPath).call();

            // Commit changes to the Git repository
            git.add().addFilepattern(".").call();
            git.commit().setMessage("Initial commit").call();

            // Create a GitHub connection using your access token
            GitHub github = GitHub.connectUsingOAuth(githubToken);

            // Create a new GitHub repository
            GHCreateRepositoryBuilder repositoryBuilder = github.createRepository("YourRepositoryName")
                    .privateRepository(false) // Set to true for a private repository
                    .description("Your repository description")
                    .license("MIT"); // Set your preferred license

            repositoryBuilder.create();

            // Add a remote repository to your Git repository
            RemoteAddCommand remoteAddCommand = git.remoteAdd();
            remoteAddCommand.setName("origin");
            remoteAddCommand.setUri(new URIish("https://github.com/" + githubUsername + "/YourRepositoryName.git"));
            remoteAddCommand.call();

            // Push your Android project to GitHub
            PushCommand pushCommand = git.push();
            pushCommand.setRemote("origin");
            pushCommand.setForce(true); // Force push to the repository
            pushCommand.call();

            // Close the Git repository
            git.close();

            System.out.println("Your Android project has been successfully shared on GitHub.");
        } catch (IOException | GitAPIException e) {
            e.printStackTrace();
        }
    }
}
```
Make sure to replace `YourGitHubUsername", "YourGitHubAccessToken, path/to/your/android/project, "YourRepositoryName`, and other placeholders with your actual GitHub information and project details.
This code snippet automates the process of sharing an Android project on GitHub:
* Initializes a Git repository for the Android project.
* Commits changes to the Git repository.
* Uses your GitHub personal access token to connect to GitHub.
* Creates a new GitHub repository using the GitHub API.
* Adds a remote repository to the local Git repository.
* Pushes your Android project to the newly created GitHub repository.

Ensure that you have the JGit and GitHub API libraries in your project's classpath to use the provided classes and methods. Additionally, it's important to keep your access token and other sensitive information secure.