Autor Téma: Nelze provést build/compile libovolného projektu pro Android  (Přečteno 747 krát)

Offline age.new

  • Plnoletý
  • ***
  • Příspěvků: 119
  • Karma: 0
V Berlin verzi nelze provést build/compile jakéhokoliv projektu pro Android (i prázdného). Vše trvá několik minut a poté zahlásí linker mnoho chyb. SDK, NDK a Java cesty jsou správně nastavené. SDK 24 hlásí 100 chyb, SDK 25 skončí u 80 chyb. Ve starší XE verzi se mi kdysi po těžkém boji podařilo pár Android aplikací vytvořit, ale již nemám sílu s tím cokoliv dělat. Zkoušel jsem psát na Embarcadero forum, ale nelze se přihlásit pro vytvoření tématu. Nový Embarcadero portál je nějaký "divný". Toto forum je asi poslední možnost.

Chyby:

Checking project dependencies...
Compiling Project1.dproj (Debug, Android)
dccaarm command line for "Project1.dpr"
  c:\program files (x86)\embarcadero\studio\18.0\bin\dccaarm.exe -$O- --no-config -M -Q -TX.so -AGenerics.Collections=System.Generics.Collections;
  Generics.Defaults=System.Generics.Defaults;WinTypes=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE -DDEBUG
  -E.\Android\Debug -I"c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug";
  C:\Users\Alex\Documents\Webrtc_Delphi_Trial\Packages\D101\Android;C:\Users\Alex\Documents\Webrtc_Delphi_Trial\Sources
  -LEC:\Users\Public\Documents\Embarcadero\Studio\18.0\Bpl\Android -LNC:\Users\Public\Documents\Embarcadero\Studio\18.0\Dcp\Android -NU.\Android\Debug
  -NSSystem;Xml;Data;Datasnap;Web;Soap; -OC:\Users\Alex\Documents\Webrtc_Delphi_Trial\Packages\D101\Android;
  C:\Users\Alex\Documents\Webrtc_Delphi_Trial\Sources -RC:\Users\Alex\Documents\Webrtc_Delphi_Trial\Packages\D101\Android;
  C:\Users\Alex\Documents\Webrtc_Delphi_Trial\Sources -U"c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug";
  C:\Users\Alex\Documents\Webrtc_Delphi_Trial\Packages\D101\Android;C:\Users\Alex\Documents\Webrtc_Delphi_Trial\Sources
  --libpath:C:\Users\Public\Documents\Embarcadero\Studio\18.0\PlatformSDKs\android-ndk-r9c\sources\cxx-stl\gnu-libstdc++\4.8\libs\armeabi-v7a;
  C:\Users\Public\Documents\Embarcadero\Studio\18.0\PlatformSDKs\android-ndk-r9c\platforms\android-14\arch-arm\usr\lib
  --linker:C:\Users\Public\Documents\Embarcadero\Studio\18.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\bin\arm-linux-androideabi-ld.exe
  -V -VN -NO.\Android\Debug   Project1.dpr   
[DCC Error] E2597 C:\Users\Public\Documents\Embarcadero\Studio\18.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: error: cannot find -lrtlhelper
  C:\Users\Public\Documents\Embarcadero\Studio\18.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: error: cannot find -lpcre
  C:\Users\Public\Documents\Embarcadero\Studio\18.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: error: cannot find -lcompiler_rt
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\SysInit.o(.ARM.exidx.text._ZN7Sysinit8__mallocEj+0x0): error: undefined reference to '__aeabi_unwind_cpp_pr0'
  C:\Builds\tp\runtime\rtl\sys/SysInit.pas:1144: error: undefined reference to '_Unwind_Resume'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\SysInit.o(.ARM.exidx.text._ZN7Sysinit8_InitExeEPv+0x0): error: undefined reference to '__aeabi_unwind_cpp_pr0'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.o(.ARM.exidx.text._ZN6System7TMethod14_op_InequalityERKS0_S2_+0x0): error: undefined reference to '__aeabi_unwind_cpp_pr1'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.o(.ARM.exidx.text._ZN6System7TMethod15_op_GreaterThanERKS0_S2_+0x0): error: undefined reference to '__aeabi_unwind_cpp_pr0'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.o(.ARM.exidx.text._ZN6System7TMethod22_op_GreaterThanOrEqualERKS0_S2_+0x0): error: undefined reference to '__aeabi_unwind_cpp_pr1'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.o(.ARM.exidx.text._ZN6System7TMethod12_op_LessThanERKS0_S2_+0x0): error: undefined reference to '__aeabi_unwind_cpp_pr0'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.o(.ARM.exidx.text._ZN6System7TMethod19_op_LessThanOrEqualERKS0_S2_+0x0): error: undefined reference to '__aeabi_unwind_cpp_pr1'
  C:\Builds\tp\runtime\rtl\sys/System.pas:17331: error: undefined reference to '_Unwind_Resume'
  C:\Builds\tp\runtime\rtl\sys/System.pas:16517: error: undefined reference to '_Unwind_Resume'
  C:\Builds\tp\runtime\rtl\sys/System.pas:16554: error: undefined reference to '_Unwind_Resume'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.o(.ARM.exidx.text._ZN6System2__ENS_15DelphiInterfaceINS_10IInterfaceEEE5_GUIDPv15+0x0): error: undefined reference to '__aeabi_unwind_cpp_pr1'
  C:\Builds\tp\runtime\rtl\sys/System.pas:7240: error: undefined reference to '__aeabi_ul2d'
  C:\Builds\tp\runtime\rtl\sys/System.pas:7242: error: undefined reference to '__aeabi_ul2d'
  C:\Builds\tp\runtime\rtl\sys/System.pas:7435: error: undefined reference to '__aeabi_ul2d'
  C:\Builds\tp\runtime\rtl\sys/System.pas:7437: error: undefined reference to '__aeabi_ul2d'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.o:System:function System::fegetexceptflag(unsigned short*, unsigned int): error: undefined reference to 'math_fegetexceptflag'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.o:System:function System::fesetexceptflag(unsigned short*, unsigned int): error: undefined reference to 'math_fesetexceptflag'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.o:System:function System::fegetround(): error: undefined reference to 'math_fegetround'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.o:System:function System::fesetround(unsigned int): error: undefined reference to 'math_fesetround'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.o:System:function System::fegetenv(void*): error: undefined reference to 'math_fegetenv'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.o:System:function System::fesetenv(void*): error: undefined reference to 'math_fesetenv'
  C:\Builds\tp\runtime\rtl\sys/System.pas:7887: error: undefined reference to '__aeabi_l2d'
  C:\Builds\tp\runtime\rtl\sys/System.pas:10280: error: undefined reference to '__aeabi_ldivmod'
  C:\Builds\tp\runtime\rtl\sys/System.pas:10281: error: undefined reference to '__moddi3'
  C:\Builds\tp\runtime\rtl\sys/System.pas:18173: error: undefined reference to '__aeabi_ldivmod'
  C:\Builds\tp\runtime\rtl\sys/System.pas:18177: error: undefined reference to '__aeabi_ldivmod'
  C:\Builds\tp\runtime\rtl\sys/System.pas:18201: error: undefined reference to '__aeabi_ldivmod'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.o:System:function System::_Unwind_RaiseException(_Unwind_Exception&): error: undefined reference to '_Unwind_RaiseException'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.o:System:function System::__aeabi_unwind_cpp_pr2(int, _Unwind_Exception&, _Unwind_Context&): error: undefined reference to '__aeabi_unwind_cpp_pr2'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.o:System:function System::_RestoreCoreRegs(System::TReg&): error: undefined reference to '_RestoreCoreRegs'
  C:\Builds\tp\runtime\rtl\sys/System.pas:20879: error: undefined reference to 'get_cxx_class_name'
  C:\Builds\tp\runtime\rtl\sys/System.pas:33808: error: undefined reference to '__umoddi3'
  C:\Builds\tp\runtime\rtl\sys/System.pas:33810: error: undefined reference to '__aeabi_uldivmod'
  C:\Builds\tp\runtime\rtl\sys/System.pas:34266: error: undefined reference to '__aeabi_idiv'
  C:\Builds\tp\runtime\rtl\sys/System.pas:34748: error: undefined reference to '__aeabi_idiv'
  C:\Builds\tp\runtime\rtl\sys/System.Types.pas:2374: error: undefined reference to '__aeabi_l2d'
  C:\Builds\tp\runtime\rtl\sys/System.Types.pas:2375: error: undefined reference to '__aeabi_l2d'
  C:\Builds\tp\runtime\rtl\sys/System.Types.pas:2591: error: undefined reference to '__aeabi_l2d'
  C:\Builds\tp\runtime\rtl\sys/System.Types.pas:1942: error: undefined reference to '__aeabi_l2f'
  C:\Builds\tp\runtime\rtl\sys/System.Types.pas:1942: error: undefined reference to '__aeabi_l2f'
  C:\Builds\tp\runtime\rtl\sys/System.SysUtils.pas:30417: error: undefined reference to '__aeabi_l2f'
  C:\Builds\tp\runtime\rtl\sys/System.SysUtils.pas:30477: error: undefined reference to '__aeabi_ul2f'
  C:\Builds\tp\runtime\rtl\sys/System.SysUtils.pas:5196: error: undefined reference to '__aeabi_idiv'
  C:\Builds\tp\runtime\rtl\sys/System.SysUtils.pas:5197: error: undefined reference to '__modsi3'
  C:\Builds\tp\runtime\rtl\sys/System.SysUtils.pas:8023: error: undefined reference to '__aeabi_uldivmod'
  C:\Builds\tp\runtime\rtl\sys/System.SysUtils.pas:16821: error: undefined reference to '__moddi3'
  C:\Builds\tp\runtime\rtl\sys/System.SysUtils.pas:17818: error: undefined reference to '__aeabi_uldivmod'
  C:\Builds\tp\runtime\rtl\sys/System.SysUtils.pas:18482: error: undefined reference to '__moddi3'
  C:\Builds\tp\runtime\rtl\sys/System.SysUtils.pas:18602: error: undefined reference to '__moddi3'
  C:\Builds\tp\runtime\rtl\sys/System.VarUtils.pas:810: error: undefined reference to '__aeabi_l2f'
  C:\Builds\tp\runtime\rtl\sys/System.VarUtils.pas:1169: error: undefined reference to '__aeabi_ul2f'
  C:\Builds\tp\runtime\rtl\sys/System.Variants.pas:2628: error: undefined reference to '__aeabi_ul2f'
  C:\Builds\tp\runtime\rtl\common/System.Generics.Collections.pas:4717: error: undefined reference to '__modsi3'
  C:\Builds\tp\runtime\rtl\common/System.Generics.Collections.pas:4838: error: undefined reference to '__modsi3'
  C:\Builds\tp\runtime\rtl\common/System.Generics.Collections.pas:5281: error: undefined reference to '__modsi3'
  C:\Builds\tp\runtime\rtl\common/System.Hash.pas:1459: error: undefined reference to '__aeabi_uidiv'
  C:\Builds\tp\runtime\rtl\common/System.Rtti.pas:3072: error: undefined reference to '__aeabi_idiv'
  C:\Builds\tp\runtime\rtl\common/System.Rtti.pas:3619: error: undefined reference to '__aeabi_ul2f'
  C:\Builds\tp\runtime\rtl\common/System.Rtti.pas:7575: error: undefined reference to 'rtti_raw_invoke'
  C:\Builds\tp\runtime\rtl\common/System.Rtti.pas:10628: error: undefined reference to 'rtti_raw_intercept'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.Rtti.o:System.Rtti:function System::Rtti::AllocFirstStageIntercept(void*, void*, int): error: undefined reference to 'allocate_first_stage_intercept'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.Rtti.o:System.Rtti:function System::Rtti::FreeIntercept(System::Rtti::TMethodImplementation::TFirstStageIntercept*): error: undefined reference to 'free_first_stage_intercept'
  C:\Builds\tp\runtime\rtl\common/System.Classes.pas:14885: error: undefined reference to '__aeabi_uldivmod'
  C:\Builds\tp\runtime\rtl\android/Androidapi.JNIBridge.pas:378: error: undefined reference to 'DispatchToImport'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.RegularExpressionsAPI.o:System.RegularExpressionsAPI:function System::Regularexpressionsapi::pcre_compile(char const*, int, char**, int*, char const*): error: undefined reference to 'pcre_compile'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.RegularExpressionsAPI.o:System.RegularExpressionsAPI:function System::Regularexpressionsapi::pcre_exec(System::Regularexpressionsapi::real_pcre*, System::Regularexpressionsapi::real_pcre_extra*, char const*, int, int, int, int*, int): error: undefined reference to 'pcre_exec'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.RegularExpressionsAPI.o:System.RegularExpressionsAPI:function System::Regularexpressionsapi::pcre_get_stringnumber(System::Regularexpressionsapi::real_pcre*, char const*): error: undefined reference to 'pcre_get_stringnumber'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.RegularExpressionsAPI.o:System.RegularExpressionsAPI:function System::Regularexpressionsapi::pcre_maketables(): error: undefined reference to 'pcre_maketables'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.RegularExpressionsAPI.o:System.RegularExpressionsAPI:function System::Regularexpressionsapi::pcre_study(System::Regularexpressionsapi::real_pcre*, int, char**): error: undefined reference to 'pcre_study'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.RegularExpressionsAPI.o:System.RegularExpressionsAPI:function System::Regularexpressionsapi::set_pcre_malloc(void*): error: undefined reference to 'set_pcre_malloc'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.RegularExpressionsAPI.o:System.RegularExpressionsAPI:function System::Regularexpressionsapi::set_pcre_free(void*): error: undefined reference to 'set_pcre_free'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.RegularExpressionsAPI.o:System.RegularExpressionsAPI:function System::Regularexpressionsapi::set_pcre_stack_malloc(void*): error: undefined reference to 'set_pcre_stack_malloc'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.RegularExpressionsAPI.o:System.RegularExpressionsAPI:function System::Regularexpressionsapi::set_pcre_stack_free(void*): error: undefined reference to 'set_pcre_stack_free'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.RegularExpressionsAPI.o:System.RegularExpressionsAPI:function System::Regularexpressionsapi::set_pcre_callout(void*): error: undefined reference to 'set_pcre_callout'
  c:\program files (x86)\embarcadero\studio\18.0\lib\Android\debug\System.RegularExpressionsAPI.o:System.RegularExpressionsAPI:function System::Regularexpressionsapi::set_pcre_stack_guard(void*): error: undefined reference to 'set_pcre_stack_guard'
[DCC Fatal Error] F2588 Linker error code: 1 ($00000001)
Failed
Elapsed time: 00:02:14.6

Offline chaloup

  • Mladík
  • **
  • Příspěvků: 94
  • Karma: 9
    • Verze Delphi: Delphi 10.2
Re:Nelze provést build/compile libovolného projektu pro Android
« Odpověď #1 kdy: 24-09-2018, 10:30:33 »
Kontroloval jsi cesty, všechno máš na záložce SDK, NDK, Java dobře?
Něco jako tady:
https://stackoverflow.com/questions/39808601/delphi-10-1-berlin-and-android-sdk-tools-zipalign-and-adb-not-found

Podle cesty android-ndk-r9c\platforms\android-14 se mi to nezdá na SDK 24... podle názvu cesty je to SDK 14
Když jsi dával nový SDK přidal jsi ho tak jak se to popisuje http://edn.embarcadero.com/article/43415 ?
Nebo jsi smazal starý SDK a nakopíroval jsi na původní cestu nový...?

Zkus dát z příkazovýho řádku :
C:\Users\Public\Documents\Embarcadero\Studio\18.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\bin\arm-linux-androideabi-ld.exe -v
mě to vrací:
GNU ld (GNU Binutils) 2.24.90

Offline age.new

  • Plnoletý
  • ***
  • Příspěvků: 119
  • Karma: 0
Re:Nelze provést build/compile libovolného projektu pro Android
« Odpověď #2 kdy: 24-09-2018, 19:23:27 »
Ano, cesty v Tools->Options->SDK Manager jsou v pořádku. Mám zde dvě verze Android SDK (25.2.5 a 24.3.3). SDK, včetně nezbytných driverů, jsem nahrával pomocí SDK manažeru (verze 24 byla nahrána při instalaci Delphi). Již jsem Android rozběhal ve starší verzi. Též jsem s tím hodně bojoval, ale že to nepřeloží ani prázdný projekt jsem nečekal. Embarcadero má Android kompatibilitu totálně zmaštěnou.

Příkaz mi vrací: GNU Gold (GNU Binutils 2.23.2) 1.11

V popisu chyby mi to píše něco o Webrtc_Delphi_Trial. Není mi jasné, proč by toto mělo vadit v projektu, u kterého se to nepoužívá. Jelikož jsem bezradný a Embarcadero forum již nefunguje, tak mi zbývá asi jen kompletní reinstalace. To je ale na celý den. Nejraději bych si zchladil žáhu na nějakém Embarcadero pracovníkovi ... kdyby to bylo freeware, tak bych to nějak bral. I za stovku to je drahé ... :(
 

Offline chaloup

  • Mladík
  • **
  • Příspěvků: 94
  • Karma: 9
    • Verze Delphi: Delphi 10.2
Re:Nelze provést build/compile libovolného projektu pro Android
« Odpověď #3 kdy: 24-09-2018, 21:09:07 »
Budeš mít asi nějakej zmatek v cestách, tohle je o Linuxu, ale na pochopení problému postačí:
https://blog.grijjy.com/2017/04/06/importing-third-party-linux-libraries-on-delphi-10-2-tokyo/
podívej co je v "Delphi Option"->Library->Android
mělo by tam být: $(BDSLIB)\$(PLATFORM)\Release
protože soubor, kterej ti to nemůže najít je:
C:\Program Files (x86)\Embarcadero\Studio\18.0\lib\android\release\librtlhelper.a

Offline age.new

  • Plnoletý
  • ***
  • Příspěvků: 119
  • Karma: 0
Re:Nelze provést build/compile libovolného projektu pro Android
« Odpověď #4 kdy: 25-09-2018, 12:06:09 »
Cesty jsou v pořádku. Na druhém počítači jsem provedl stejnou instalaci Delphi i s Android SDK a problém s buildem se neobjevil. Akorát aplikace v emulátoru zahlásí "unfortunately application has stopped". Zkoušel jsem různé verze SDK, jiné emulátory ... prostě to nejde. Budu se muset vrátit ke starší XE verzi na které mám i funkční hru (2 stažení na Google Play :)). Nechápu jak může Embarcadero takovou srač*u vůbec vydávat.

Offline chaloup

  • Mladík
  • **
  • Příspěvků: 94
  • Karma: 9
    • Verze Delphi: Delphi 10.2
Re:Nelze provést build/compile libovolného projektu pro Android
« Odpověď #5 kdy: 25-09-2018, 20:15:55 »
Excellent
Rated 1 time
Hláška "unfortunately application has stopped" bude zřejmě tím, že máš AndroidManifest.template.xml k jiný verzi SKD/XE
Vem tenhle soubor z prázdnýho projektu z nainstalované verze XE a přehrej ho u té hry...
možná to jde smazat a delphi to vygenerují znovu (jen hádám nesedím u PC s delphi abych to otestoval)

Offline age.new

  • Plnoletý
  • ***
  • Příspěvků: 119
  • Karma: 0
Re:Nelze provést build/compile libovolného projektu pro Android
« Odpověď #6 kdy: 26-09-2018, 07:30:54 »
S xml souborem jsem zkoušel manipulovat - většina problémů z internetu se odkazovala na tento soubor. Bez úspěchu.

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Jméno: E-mail:
Ověření:
Křestní jméno zpěváka Gotta: