Autor Téma: Definování názvu složky pro Android - .\assets\internal\  (Přečteno 429 krát)

Online age.new

  • Plnoletý
  • ***
  • Příspěvků: 208
  • Karma: 0
Vážená komunito,

nevíte, kde se dá nastavit název složky, která se automaticky vytváří při nahrávání aplikace do mobilu? Soubory dávám v deployment manažeru s cestou .\assets\internal\ a výsledný název je: /data/user/0/com.embarcadero.MyApp/files/
Rád bych změnil tučně vyznačenou část.

Dále by mě zajímalo, proč pro Android nefunguje tzv. Conditional defines? Když si v Project->Options->Delphi Compiler zadám vlastní direktivu (např: TEST_DEBUG) pro Android - All configuration, tak se kód chová, jako by nebyla zadána. Když vše zadám stejně například pro Windows, tak to funguje. Je to nějaký bug v Delphi 10.2 Berlin verzi?

Děkuji.

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 976
  • Karma: 46
    • Verze Delphi: 10.3
Re:Definování názvu složky pro Android - .\assets\internal\
« Odpověď #1 kdy: 21-03-2020, 15:28:10 »
Ahoj,

řekl bych, že to je (v 10.3.3) v Project, Options - Application, Version info, dole je pak Key "package".

Direktivy - nevím u sebe mám pro Android 32 - All configuration něco definováno a poslušně se to pak připojuje k direktivám, které jsou definované pro Debug a Release.

Online age.new

  • Plnoletý
  • ***
  • Příspěvků: 208
  • Karma: 0
Re:Definování názvu složky pro Android - .\assets\internal\
« Odpověď #2 kdy: 21-03-2020, 16:18:31 »
Ano, v 10.2 je to trochu jinde, ale už jsem to našel.
Direktivy začaly najednou chodit samy od sebe po restartu.

Měl bych ještě jeden dotaz - jakou verzi SDK pro Androida používáte? Dnes jsem aktualizoval vše co šlo pomocí Android SDK Manager a Android Studia. V Options>SDK Manager mi to najde jen verzi SDK 25.2.5 (původně jsem používal SDK 24.x.x). Když aplikaci odinstaluji a nainstaluji, tak mi zobrazí hlášku, že je aplikace pro starší verze Androida. Jak a kde mám nastavit, aby se pro build používali nejnovější SDK? ... výše uvedené aplikace už nic novějšího nenabízí. Je možné, že by nové SDK byly na nějakém jiném umístění, kterou Delphi nezná? Teď vše tahám z dokumentů Embarcadero>Studio>18>PlatformSDKs ...

Děkuji.

 
« Poslední změna: 21-03-2020, 16:20:13 od age.new »

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 976
  • Karma: 46
    • Verze Delphi: 10.3
Re:Definování názvu složky pro Android - .\assets\internal\
« Odpověď #3 kdy: 21-03-2020, 16:53:05 »
Ukazuje mi to také 25.2.5 z C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidSDK-2525_20.0.36039.7899

Online age.new

  • Plnoletý
  • ***
  • Příspěvků: 208
  • Karma: 0
Re:Definování názvu složky pro Android - .\assets\internal\
« Odpověď #4 kdy: 21-03-2020, 17:58:23 »
Tak problém je v AndroidManifest souboru. Přepsal jsem %targetSdkVersion% na 29 a už to hlášku nezobrazuje.

Narazil jsem ale na další problém, který mi dříve fungoval (i jsem si kontroloval zdrojáky). Dám si bell.3gp do .\assets\internal\ ale funkce FileExists soubor stejně nevidí. Kód:
Kód: [Vybrat]
SoundFile := System.IOUtils.TPath.Combine(System.IOUtils.TPath.GetDocumentsPath, 'bell.3gp');
Nevím proč to u jedné aplikace funguje a u druhé (vytvořené v novějším Delphi) nefunguje...
« Poslední změna: 21-03-2020, 18:06:06 od age.new »

Online age.new

  • Plnoletý
  • ***
  • Příspěvků: 208
  • Karma: 0
Re:Definování názvu složky pro Android - .\assets\internal\
« Odpověď #5 kdy: 21-03-2020, 20:41:43 »
Tak už to mám. U Androidu je rozdíl FileExists('bell.3gp') a FileExists('Bell.3gp') ...

Online age.new

  • Plnoletý
  • ***
  • Příspěvků: 208
  • Karma: 0
Re:Definování názvu složky pro Android - .\assets\internal\
« Odpověď #6 kdy: 22-03-2020, 15:41:56 »
Tak změny v AndroidManifest souboru vedly ke zpomalení aplikace a znefunkčnění bluetooth. Nedoporučuji tedy měnit i když to jiní doporučují.

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 976
  • Karma: 46
    • Verze Delphi: 10.3
Re:Definování názvu složky pro Android - .\assets\internal\
« Odpověď #7 kdy: 22-03-2020, 15:43:16 »
Znefunkčnění? Není to jen záležitost oprávnění, o které si aplikace musí říct jinak, než se to dělalo dřív?

Online age.new

  • Plnoletý
  • ***
  • Příspěvků: 208
  • Karma: 0
Re:Definování názvu složky pro Android - .\assets\internal\
« Odpověď #8 kdy: 23-03-2020, 07:01:51 »
Aplikace se výrazně zpomalila - odezvy až sekundy na kliknutí. A Bluetooth již nic nenašel. Změna manifest souboru zpět na původní vše spravilo. Vám nehlásí aplikace, že je pro starší verze Androidu? Resp. hlásí to při první instalaci. Založil jsem druhé vlákno zde na fóru, kde mám vypsané všechny verze a cesty k SDK a NDK. Mohl by jste je prosím porovnat?

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 976
  • Karma: 46
    • Verze Delphi: 10.3
Re:Definování názvu složky pro Android - .\assets\internal\
« Odpověď #9 kdy: 23-03-2020, 08:46:03 »
Nemůžu to vlákno najít, i když jsem ho včera někde viděl... Přikládám tedy snímky obrazovky od sebe (Delphi 10.3.3 Pro) a porovnání ponechám na laskavém čtenáři.

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 976
  • Karma: 46
    • Verze Delphi: 10.3
Re:Definování názvu složky pro Android - .\assets\internal\
« Odpověď #10 kdy: 23-03-2020, 08:46:25 »
A ještě tohle.

Online age.new

  • Plnoletý
  • ***
  • Příspěvků: 208
  • Karma: 0
Re:Definování názvu složky pro Android - .\assets\internal\
« Odpověď #11 kdy: 24-03-2020, 07:03:24 »
Děkuji za snímky. Je vidět, že se adresáře mění co každá verze. Za to by měl někdo v Embarcadero dostat přes prsty  :(