Skip to content

Commit

Permalink
Implement generation testing for Android demos
Browse files Browse the repository at this point in the history
  • Loading branch information
picoliu committed Feb 18, 2025
1 parent 14afb7b commit cda66e7
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 10 deletions.
28 changes: 25 additions & 3 deletions .github/workflows/android-demos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,40 @@ on:
jobs:
build-activity-demo:
runs-on: ubuntu-latest
strategy:
matrix:
java-version: [11, 17, 21]
include:
- java-version: 11
gradle-version: 6.5
agp-version: 4.1.3
- java-version: 17
gradle-version: 7.5
agp-version: 7.4.2
- java-version: 21
gradle-version: 8.5
agp-version: 8.2.2

defaults:
run:
working-directory: demo/android/Activity

steps:
- uses: actions/checkout@v3

- name: Override gradle settings
run: sed -i "s/com.android.tools.build:gradle:[0-9]*\.[0-9]*\.[0-9]*/com.android.tools.build:gradle:${{ matrix.agp-version }}/g" build.gradle

- name: set up JDK 17
- name: set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v3
with:
java-version: '17'
java-version: ${{ matrix.java-version }}
distribution: 'temurin'

- name: Use Gradle ${{ matrix.gradle-version }}
uses: gradle/actions/setup-gradle@v3
with:
gradle-version: ${{ matrix.gradle-version }}

- name: Build
run: ./gradlew assembleDebug
run: gradle assembleDebug
1 change: 1 addition & 0 deletions demo/android/Activity/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
android.enableJetifier=true
android.useAndroidX=true
org.gradle.jvmargs=-Xmx1536m
android.nonTransitiveRClass=false
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
Expand Down
25 changes: 19 additions & 6 deletions demo/android/Activity/rhino-activity-demo-app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import groovy.json.JsonSlurper
apply plugin: 'com.android.application'

android {
def agpVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION
compileSdk defaultTargetSdkVersion

defaultConfig {
Expand All @@ -18,6 +19,13 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
buildFeatures {
buildConfig true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

def testDataFile = file('../../../../resources/.test/test_data.json')
def parsedJson = new JsonSlurper().parseText(testDataFile.text)
Expand All @@ -28,10 +36,13 @@ android {

flavorDimensions "language"
productFlavors {
en {
getIsDefault().set(true)
if (agpVersion.tokenize('.')[0].toInteger() >= 7) {
en {
getIsDefault().set(true)
}
}


languages.each { languageInfo ->
"${languageInfo.get(0)}" {
applicationIdSuffix ".${languageInfo.get(0)}"
Expand All @@ -50,7 +61,7 @@ android {
} else {
include("rhino_params.pv")
}
into("$projectDir/src/main/assets/models")
into("$projectDir/src/${flavor.name}/assets/models")
}
task("${flavor.name}CopyContext", type: Copy) {
description = "Copy ${flavor.name} resources"
Expand All @@ -60,7 +71,7 @@ android {
from("$projectDir/../../../../resources/contexts/android")
}
include("${flavor.ext.contextName}_android.rhn")
into("$projectDir/src/main/assets/contexts")
into("$projectDir/src/${flavor.name}/assets/contexts")
rename { String fileName ->
fileName.replace("_android", "").replace(" ", "_")
}
Expand All @@ -70,10 +81,12 @@ android {
}
}
}
lint {
lintOptions {
abortOnError false
}
namespace 'ai.picovoice.rhinodemo'
if (agpVersion.tokenize('.')[0].toInteger() >= 7) {
namespace 'ai.picovoice.rhinodemo'
}
}

dependencies {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="ai.picovoice.rhinodemo">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
Expand Down

0 comments on commit cda66e7

Please sign in to comment.