Base del merge a tres bandas: git 0.9.5 de epsylon, esta rama y el src de la
APK oficial 1.3.1 (la variante movil: OASIS_MOBILE, regex sin \p{}, audio y
video de Android). Corre en el mismo nodejs-mobile 18.20.4 que ya usabamos.
Se conserva de la rama: Karvan, identidades y multicuenta, topbar y barra
inferior, borrado de EXIF sin sharp, filtro hot del foro, RTC sin STUN y los
modulos apagados en movil (wallet, banking, torrents).
Se toma de upstream lo que ya hace de serie: respuesta citada en chats, ssb-lan
en movil, configuracion en ~/.ssb/oasis (sobrevive a reinstalar el backend).
El asistente de bienvenida deja elegir workflow tambien en movil.
61 lines
1.8 KiB
Kotlin
61 lines
1.8 KiB
Kotlin
plugins {
|
|
id("com.android.application")
|
|
id("org.jetbrains.kotlin.android")
|
|
}
|
|
|
|
android {
|
|
// El .so nativo exporta Java_com_solarnethub_oasis_OasisActivity_startNodeWithArguments,
|
|
// asi que la clase puente tiene que vivir en ese paquete para que el simbolo resuelva.
|
|
// El applicationId si es propio: la app se instala junto a la oficial sin pisarla.
|
|
namespace = "com.solarnethub.oasis"
|
|
compileSdk = 35
|
|
|
|
defaultConfig {
|
|
applicationId = "net.laenre.oasis"
|
|
minSdk = 24
|
|
targetSdk = 35
|
|
// el pipeline los pasa por entorno; a mano valen los de aqui
|
|
versionCode = (System.getenv("OASIS_VERSION_CODE") ?: "1").toInt()
|
|
versionName = System.getenv("OASIS_VERSION_NAME") ?: "1.3.1"
|
|
ndk { abiFilters += listOf("arm64-v8a") }
|
|
}
|
|
|
|
signingConfigs {
|
|
create("release") {
|
|
val ks = System.getenv("OASIS_KEYSTORE")
|
|
if (ks != null) {
|
|
storeFile = file(ks)
|
|
storePassword = System.getenv("OASIS_KEYSTORE_PASS")
|
|
keyAlias = System.getenv("OASIS_KEY_ALIAS") ?: "oasis"
|
|
keyPassword = System.getenv("OASIS_KEY_PASS") ?: System.getenv("OASIS_KEYSTORE_PASS")
|
|
}
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
isMinifyEnabled = false
|
|
if (System.getenv("OASIS_KEYSTORE") != null) signingConfig = signingConfigs.getByName("release")
|
|
}
|
|
}
|
|
|
|
buildFeatures { buildConfig = true }
|
|
|
|
packaging {
|
|
jniLibs {
|
|
// libnode.so son 49 MB: sin comprimir se carga por mmap y arranca mas rapido
|
|
useLegacyPackaging = false
|
|
}
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
}
|
|
kotlinOptions { jvmTarget = "17" }
|
|
}
|
|
|
|
dependencies {
|
|
implementation("androidx.appcompat:appcompat:1.7.0")
|
|
implementation("androidx.core:core-ktx:1.13.1")
|
|
}
|