Skip to content

Commit

Permalink
Inject AGP version at test time
Browse files Browse the repository at this point in the history
  • Loading branch information
picoliu committed Feb 18, 2025
1 parent 6cec042 commit 62b4c43
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 8 deletions.
10 changes: 9 additions & 1 deletion .github/workflows/android-demos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,17 +24,25 @@ jobs:
include:
- java-version: 11
gradle-version: 6.5
agp-version: 4.1.3
- java-version: 17
gradle-version: 7.3
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
cat build.gradle
- name: set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v3
Expand Down
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 1.8
targetCompatibility 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 62b4c43

Please sign in to comment.