Use gn target name for the native lib

This commit is contained in:
Attila Uygun 2023-09-27 23:35:00 +02:00
parent 35958b13f7
commit dd14ed30ea
4 changed files with 15 additions and 5 deletions

View File

@ -47,6 +47,7 @@ android {
applicationId 'com.woom.game' applicationId 'com.woom.game'
resValue "string", "app_name", "woom" resValue "string", "app_name", "woom"
resValue "string", "interstitial_ad_unit_id", "ca-app-pub-1321063817979967/8373182022" resValue "string", "interstitial_ad_unit_id", "ca-app-pub-1321063817979967/8373182022"
resValue "string", "admob_application_id", "ca-app-pub-1321063817979967~1100949243"
manifestPlaceholders = [appIcon: "@mipmap/ic_launcher"] manifestPlaceholders = [appIcon: "@mipmap/ic_launcher"]
ext { ext {
gnTarget = "demo" gnTarget = "demo"
@ -96,6 +97,16 @@ android {
abiFilters = ["x86_64", "x86"] abiFilters = ["x86_64", "x86"]
} }
} }
// Native library name is same as GN target name.
android.productFlavors.each { flavor ->
if (flavor.dimension == 'game') {
"${flavor.name}" {
resValue "string", "lib_name", flavor.ext.gnTarget
buildConfigField 'String', 'NATIVE_LIBRARY', "\"${flavor.ext.gnTarget}\""
}
}
}
} }
sourceSets { sourceSets {
@ -175,14 +186,12 @@ utils.addGameTask('copyAssetsFor') { String taskName, String buildType, String a
} }
// Copy the native library to a directory denoting its arch code as the Android Gradle plugin expects. // Copy the native library to a directory denoting its arch code as the Android Gradle plugin expects.
// Also rename it to `libkaliber.so` which is the name expected by the engine.
utils.addGameTask('copyJniLibsFor') { String taskName, String buildType, String arch, String game -> utils.addGameTask('copyJniLibsFor') { String taskName, String buildType, String arch, String game ->
task(taskName, type: Copy) { task(taskName, type: Copy) {
dependsOn "runNinjaFor${game}${arch}${buildType}" dependsOn "runNinjaFor${game}${arch}${buildType}"
from("${utils.getOutDir(buildType)}/${arch}") { from("${utils.getOutDir(buildType)}/${arch}") {
include "lib${utils.getGnTargetFor(game)}.so" include "lib${utils.getGnTargetFor(game)}.so"
rename "lib${utils.getGnTargetFor(game)}.so", "libkaliber.so"
} }
into "${utils.getJniLibsDir(buildType)}/${utils.getAbiCodeFor(arch)}" into "${utils.getJniLibsDir(buildType)}/${utils.getAbiCodeFor(arch)}"
} }

View File

@ -27,12 +27,12 @@
</intent-filter> </intent-filter>
<meta-data <meta-data
android:name="android.app.lib_name" android:name="android.app.lib_name"
android:value="kaliber" /> android:value="@string/lib_name" />
</activity> </activity>
<meta-data <meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID" android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-1321063817979967~1100949243" /> android:value="@string/admob_application_id" />
<provider <provider
android:name="androidx.core.content.FileProvider" android:name="androidx.core.content.FileProvider"

View File

@ -2,4 +2,5 @@
<resources> <resources>
<string name="app_name">Kaliber app</string> <string name="app_name">Kaliber app</string>
<string name="interstitial_ad_unit_id"></string> <string name="interstitial_ad_unit_id"></string>
<string name="admob_application_id">ca-app-pub-3940256099942544~3347511713</string>
</resources> </resources>

View File

@ -32,7 +32,7 @@ public class KaliberActivity extends NativeActivity {
static { static {
// Get the native Java methods bound to exported functions. // Get the native Java methods bound to exported functions.
System.loadLibrary("kaliber"); System.loadLibrary(BuildConfig.NATIVE_LIBRARY);
} }
private InterstitialAd mInterstitialAd; private InterstitialAd mInterstitialAd;