Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add build instructions for simple prebuilt apps #982

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion static/build.html
Original file line number Diff line number Diff line change
Expand Up @@ -1032,7 +1032,14 @@ <h3><a href="#prebuilt-apps">Prebuilt apps</a></h3>
<p>The official releases of our App Store, Auditor, Camera and PdfViewer apps are
bundled as apks into external/ repositories. The no-code AppCompatConfig and
GmsCompatConfig apps are done the same way. These are built and signed with the
standard <code>gradle</code> Android plugin build system.</p>
standard <code>gradle</code> Android plugin build system. You can also build those apps from the source code by following these steps:
</p>
<ul>
<li>Install Gradle, OpenJDK 21 for developers (which should be called <code>java-21-openjdk-devel</code> on Linux), Android Studio, and npm.</li>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is only the name of the package on Debian distributions and isn't the name on Arch Linux or elsewhere. On Arch Linux, the package name is jdk21-openjdk by comparison with jre21-openjdk as the subset without all the development tools. Debian has a standard devel split they use but it's not clear exactly what they did in this case. Arch Linux normally doesn't split headers, etc. into a separate package but the JDK is a special case.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point, thanks. Would this be ok?

Suggested change
<li>Install Gradle, OpenJDK 21 for developers (which should be called <code>java-21-openjdk-devel</code> on Linux), Android Studio, and npm.</li>
<li>Install Gradle, Android Studio, npm, and OpenJDK 21 (<code>java-21-openjdk-devel</code> package on Debian distributions, <code>jdk21-openjdk</code> on Arch Linux distributions...).</li>

<li>In the project you want to build, create a <code>local.properties</code> file and inside it, set the path to your JDK e.g. <code>sdk.dir=/home/jane.doe/Android/Sdk</code></li>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a lot easier to export ANDROID_HOME in your environment so that Gradle creates local.properties itself for each project.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<li>In the project you want to build, create a <code>local.properties</code> file and inside it, set the path to your JDK e.g. <code>sdk.dir=/home/jane.doe/Android/Sdk</code></li>
<li>Export the <code>ANDROID_HOME</code> environment variable and make it point to your JDK folder</li>

<li>In Android Studio's Device Manager, make sure you have a device running (virtual device, or physical device paired using wi-fi)</li>
<li>From a console in your project folder, run <code>gradle installDebug</code>. This will install the app from the source code, alongside any prebuilt version of the app which you may already have.</li>
</ul>

<p>The TalkBack screen reader is built from our talkback fork repository and
included as a prebuilt signed with the OS releasekey. It may be presigned in
Expand Down