mirror of
https://github.com/haexhub/haex-hub.git
synced 2025-12-16 22:20:51 +01:00
fix build
This commit is contained in:
@ -1,8 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
|
||||
<!-- AndroidTV support -->
|
||||
<uses-feature android:name="android.software.leanback" android:required="false" />
|
||||
|
||||
|
||||
@ -1,13 +1,3 @@
|
||||
package space.haex.hub
|
||||
import android.webkit.WebView
|
||||
import android.os.Bundle
|
||||
import android.content.pm.ApplicationInfo
|
||||
|
||||
class MainActivity : TauriActivity(){
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
if (0!= (applicationInfo.flags and ApplicationInfo.FLAG_DEBUGGABLE)) {
|
||||
WebView.setWebContentsDebuggingEnabled(true)
|
||||
}
|
||||
}
|
||||
}
|
||||
class MainActivity : TauriActivity()
|
||||
@ -4,7 +4,7 @@ buildscript {
|
||||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
classpath("com.android.tools.build:gradle:8.10.0")
|
||||
classpath("com.android.tools.build:gradle:8.5.1")
|
||||
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.25")
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,6 +18,6 @@ repositories {
|
||||
|
||||
dependencies {
|
||||
compileOnly(gradleApi())
|
||||
implementation("com.android.tools.build:gradle:8.10.0")
|
||||
implementation("com.android.tools.build:gradle:8.5.1")
|
||||
}
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#Tue May 10 19:22:52 CST 2022
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
|
||||
distributionPath=wrapper/dists
|
||||
zipStorePath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
||||
@ -33,7 +33,7 @@ pub async fn sql_execute(
|
||||
|
||||
/// Erstellt eine verschlüsselte Datenbank
|
||||
#[tauri::command]
|
||||
pub fn create_encrypted_database_old(
|
||||
pub fn create_encrypted_database(
|
||||
app_handle: AppHandle,
|
||||
path: String,
|
||||
key: String,
|
||||
@ -41,9 +41,15 @@ pub fn create_encrypted_database_old(
|
||||
) -> Result<String, String> {
|
||||
// Ressourcenpfad zur eingebundenen Datenbank auflösen
|
||||
|
||||
println!("Arbeitsverzeichnis: {:?}", std::env::current_dir());
|
||||
println!(
|
||||
"Ressourcenverzeichnis: {:?}",
|
||||
app_handle.path().resource_dir()
|
||||
);
|
||||
|
||||
let resource_path = app_handle
|
||||
.path()
|
||||
.resolve("vault.db", BaseDirectory::Resource)
|
||||
.resolve("database/vault.db", BaseDirectory::Resource)
|
||||
.map_err(|e| format!("Fehler beim Auflösen des Ressourcenpfads: {}", e))?;
|
||||
|
||||
// Prüfen, ob die Ressourcendatei existiert
|
||||
@ -227,9 +233,10 @@ pub fn open_encrypted_database(
|
||||
return Err("Datenbankdatei nicht gefunden".into());
|
||||
}
|
||||
|
||||
let conn = core::open_and_init_db(&path, &key, false)?;
|
||||
let conn = core::open_and_init_db(&path, &key, false)
|
||||
.map_err(|e| format!("Fehler beim öffnen: {}", e));
|
||||
let mut db = state.0.lock().map_err(|e| e.to_string())?;
|
||||
*db = Some(conn);
|
||||
*db = Some(conn.unwrap());
|
||||
|
||||
Ok(format!("success"))
|
||||
}
|
||||
@ -260,7 +267,7 @@ fn prepare_temporary_asset_db(
|
||||
//.resolve("vault.db", BaseDirectory::Resource)
|
||||
let asset_bytes = app_handle
|
||||
.asset_resolver()
|
||||
.get(asset_name.to_string())
|
||||
.get(asset_name.to_owned())
|
||||
.ok_or_else(|| format!("Asset '{}' wurde nicht im Bundle gefunden.", asset_name))?
|
||||
.bytes()
|
||||
.to_vec();
|
||||
@ -493,7 +500,7 @@ fn open_and_verify_encrypted_db(db_path: &Path, key: &str) -> Result<Connection,
|
||||
|
||||
/// Hauptfunktion: Erstellt eine verschlüsselte Datenbank aus einem gebündelten Asset.
|
||||
#[tauri::command]
|
||||
pub fn create_encrypted_database(
|
||||
pub fn create_encrypted_database_new(
|
||||
app_handle: AppHandle<Wry>,
|
||||
path: String,
|
||||
key: String,
|
||||
@ -503,7 +510,7 @@ pub fn create_encrypted_database(
|
||||
let temp_db_path: PathBuf; // Muss deklariert werden, um im Fehlerfall aufgeräumt werden zu können
|
||||
|
||||
// Schritt 1: Asset vorbereiten
|
||||
match prepare_temporary_asset_db(&app_handle, &asset_name, BaseDirectory::AppData) {
|
||||
match prepare_temporary_asset_db(&app_handle, &asset_name, BaseDirectory::Resource) {
|
||||
Ok(path) => temp_db_path = path,
|
||||
Err(e) => return Err(e),
|
||||
}
|
||||
|
||||
@ -12,73 +12,6 @@ pub fn run() {
|
||||
let protocol_name = "haex-extension";
|
||||
|
||||
tauri::Builder::default()
|
||||
.setup(|app| {
|
||||
// --- START DER ASSET-INVENTUR (Korrigierte Version) ---
|
||||
println!("\n[INVENTUR] App-Setup wird ausgeführt. Liste alle Assets im Bundle auf...");
|
||||
|
||||
let mut found_assets_count = 0;
|
||||
|
||||
// KORREKTE METHODE: Direkt über eine Referenz auf den AssetResolver iterieren
|
||||
for asset_name in app.asset_resolver().iter() {
|
||||
found_assets_count += 1;
|
||||
// Wir geben jeden gefundenen Asset-Namen aus
|
||||
println!("[INVENTUR] Gefundenes Asset: '{}'", asset_name.0);
|
||||
}
|
||||
|
||||
if found_assets_count == 0 {
|
||||
println!("[INVENTUR] Es wurden KEINE Assets im Bundle gefunden!");
|
||||
} else {
|
||||
println!(
|
||||
"[INVENTUR] Inventur abgeschlossen. {} Assets gefunden.",
|
||||
found_assets_count
|
||||
);
|
||||
}
|
||||
|
||||
println!("[INVENTUR] --- ENDE DER INVENTUR ---\n");
|
||||
// --- ENDE DER ASSET-INVENTUR ---
|
||||
// --- START DES DEFINITIVEN ASSET-TESTS ---
|
||||
println!("\n[DEBUG] App-Setup wird ausgeführt. Versuche, die Datenbank zu laden...");
|
||||
|
||||
// BITTE SICHERSTELLEN: Dieser String muss EXAKT dem SCHLÜSSEL (KEY)
|
||||
// in deiner tauri.conf.json entsprechen!
|
||||
let asset_to_find = "database/vault.db";
|
||||
|
||||
println!(
|
||||
"[DEBUG] Suche nach Asset mit dem Alias: '{}'",
|
||||
asset_to_find
|
||||
);
|
||||
|
||||
match app.asset_resolver().get(asset_to_find.to_string()) {
|
||||
Some(asset) => {
|
||||
// ERFOLG! Das Asset wurde gefunden.
|
||||
println!("\n✅ ✅ ✅ ERFOLG! ✅ ✅ ✅");
|
||||
println!(
|
||||
"[DEBUG] Asset '{}' wurde im Bundle gefunden.",
|
||||
asset_to_find
|
||||
);
|
||||
println!("[DEBUG] Größe der Datenbank: {} Bytes.", asset.bytes.len());
|
||||
}
|
||||
None => {
|
||||
// FEHLER! Das Asset wurde nicht gefunden.
|
||||
println!("\n❌ ❌ ❌ FEHLER! ❌ ❌ ❌");
|
||||
println!(
|
||||
"[DEBUG] Asset '{}' wurde NICHT im Bundle gefunden.",
|
||||
asset_to_find
|
||||
);
|
||||
println!("[DEBUG] Mögliche Ursachen:");
|
||||
println!("[DEBUG] 1. Der Alias-String im Code ist falsch (Tippfehler?).");
|
||||
println!("[DEBUG] 2. Der Schlüssel in 'tauri.conf.json' ist anders.");
|
||||
println!(
|
||||
"[DEBUG] 3. Der Build-Cache ist veraltet (lösche 'src-tauri/target')."
|
||||
);
|
||||
}
|
||||
}
|
||||
println!("[DEBUG] --- ENDE DES ASSET-TESTS ---\n");
|
||||
// --- ENDE DES DEFINITIVEN ASSET-TESTS ---
|
||||
|
||||
// Hier kann dein restlicher Setup-Code stehen bleiben
|
||||
Ok(())
|
||||
})
|
||||
.register_uri_scheme_protocol(protocol_name, move |context, request| {
|
||||
match extension::core::extension_protocol_handler(&context, &request) {
|
||||
Ok(response) => response, // Wenn der Handler Ok ist, gib die Response direkt zurück
|
||||
|
||||
@ -54,6 +54,6 @@
|
||||
"icons/icon.icns",
|
||||
"icons/icon.ico"
|
||||
],
|
||||
"resources": ["test.txt"]
|
||||
"resources": ["database/vault.db"]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user