This page provide three simple files to help you to test your device through embarcadero samples project.
Instructions[]
Using Delphi XE5, open the samples project group (see below), set the build configuration to RELEASE for all the projects and build (Project->Build All Projects).
For each project, open the Deployment Manager (Project Deployment) and click at the Deploy button (is there a way to batch this job?), this process generates the apk file.
Now you can use the InstallSamples.bat (see below) to batch send (install) all samples to device, after the tests you can use the UninstallSamples.bat to batch remove all samples from device.
Project Group[]
This is the project group with all the sixteen samples used to test the devices. It need to be in the samples folder located at "DRIVE LETTER:\Users\Public\Documents\RAD Studio\12.0\Samples" (for Windows7/8)
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <ProjectGuid>{2508A43D-7BC0-4E28-A4FB-40DDA0B33E60}</ProjectGuid> </PropertyGroup> <ItemGroup> <Projects Include="MobileCodeSnippets\AudioRecPlay\AudioRecPlay.dproj"> <Dependencies/> </Projects> <Projects Include="MobileCodeSnippets\DatePicker\DatePicker.dproj"> <Dependencies/> </Projects> <Projects Include="FireMonkeyMobile\FlashLight\FlashLight.dproj"> <Dependencies/> </Projects> <Projects Include="FireMonkeyMobile\MusicPlayer\FMMusicPlayer.dproj"> <Dependencies/> </Projects> <Projects Include="MobileCodeSnippets\IBLite\IBLite.dproj"> <Dependencies/> </Projects> <Projects Include="MobileCodeSnippets\InteractiveGestures\ImageRotation\ImageRotation.dproj"> <Dependencies/> </Projects> <Projects Include="FireMonkeyMobile\LocationDemo\LocationDemoProject.dproj"> <Dependencies/> </Projects> <Projects Include="FireMonkeyMobile\LowLevel3D\LowLevel3D.dproj"> <Dependencies/> </Projects> <Projects Include="FireMonkeyMobile\Controls\MobileControls.dproj"> <Dependencies/> </Projects> <Projects Include="MobileCodeSnippets\PhoneDialer\PhoneDialer.dproj"> <Dependencies/> </Projects> <Projects Include="FireMonkeyMobile\PhotoEditorDemo\PhotoEditorDemo.dproj"> <Dependencies/> </Projects> <Projects Include="MobileCodeSnippets\Notifications\SendCancelNotification\SendCancelNotifications.dproj"> <Dependencies/> </Projects> <Projects Include="FireMonkeyMobile\SensorInfo\SensorInfo.dproj"> <Dependencies/> </Projects> <Projects Include="MobileCodeSnippets\ShareSheet\ShareSheet.dproj"> <Dependencies/> </Projects> <Projects Include="MobileCodeSnippets\WebBrowser\WebBrowser.dproj"> <Dependencies/> </Projects> <Projects Include="FireMonkeyMobile\KeyboardTypes\VirtualKeyboardDemo.dproj"> <Dependencies/> </Projects> </ItemGroup> <ProjectExtensions> <Borland.Personality>Default.Personality.12</Borland.Personality> <Borland.ProjectType/> <BorlandProject> <Default.Personality/> </BorlandProject> </ProjectExtensions> <Target Name="AudioRecPlay"> <MSBuild Projects="MobileCodeSnippets\AudioRecPlay\AudioRecPlay.dproj"/> </Target> <Target Name="AudioRecPlay:Clean"> <MSBuild Projects="MobileCodeSnippets\AudioRecPlay\AudioRecPlay.dproj" Targets="Clean"/> </Target> <Target Name="AudioRecPlay:Make"> <MSBuild Projects="MobileCodeSnippets\AudioRecPlay\AudioRecPlay.dproj" Targets="Make"/> </Target> <Target Name="DatePicker"> <MSBuild Projects="MobileCodeSnippets\DatePicker\DatePicker.dproj"/> </Target> <Target Name="DatePicker:Clean"> <MSBuild Projects="MobileCodeSnippets\DatePicker\DatePicker.dproj" Targets="Clean"/> </Target> <Target Name="DatePicker:Make"> <MSBuild Projects="MobileCodeSnippets\DatePicker\DatePicker.dproj" Targets="Make"/> </Target> <Target Name="FlashLight"> <MSBuild Projects="FireMonkeyMobile\FlashLight\FlashLight.dproj"/> </Target> <Target Name="FlashLight:Clean"> <MSBuild Projects="FireMonkeyMobile\FlashLight\FlashLight.dproj" Targets="Clean"/> </Target> <Target Name="FlashLight:Make"> <MSBuild Projects="FireMonkeyMobile\FlashLight\FlashLight.dproj" Targets="Make"/> </Target> <Target Name="FMMusicPlayer"> <MSBuild Projects="FireMonkeyMobile\MusicPlayer\FMMusicPlayer.dproj"/> </Target> <Target Name="FMMusicPlayer:Clean"> <MSBuild Projects="FireMonkeyMobile\MusicPlayer\FMMusicPlayer.dproj" Targets="Clean"/> </Target> <Target Name="FMMusicPlayer:Make"> <MSBuild Projects="FireMonkeyMobile\MusicPlayer\FMMusicPlayer.dproj" Targets="Make"/> </Target> <Target Name="IBLite"> <MSBuild Projects="MobileCodeSnippets\IBLite\IBLite.dproj"/> </Target> <Target Name="IBLite:Clean"> <MSBuild Projects="MobileCodeSnippets\IBLite\IBLite.dproj" Targets="Clean"/> </Target> <Target Name="IBLite:Make"> <MSBuild Projects="MobileCodeSnippets\IBLite\IBLite.dproj" Targets="Make"/> </Target> <Target Name="ImageRotation"> <MSBuild Projects="MobileCodeSnippets\InteractiveGestures\ImageRotation\ImageRotation.dproj"/> </Target> <Target Name="ImageRotation:Clean"> <MSBuild Projects="MobileCodeSnippets\InteractiveGestures\ImageRotation\ImageRotation.dproj" Targets="Clean"/> </Target> <Target Name="ImageRotation:Make"> <MSBuild Projects="MobileCodeSnippets\InteractiveGestures\ImageRotation\ImageRotation.dproj" Targets="Make"/> </Target> <Target Name="LocationDemoProject"> <MSBuild Projects="FireMonkeyMobile\LocationDemo\LocationDemoProject.dproj"/> </Target> <Target Name="LocationDemoProject:Clean"> <MSBuild Projects="FireMonkeyMobile\LocationDemo\LocationDemoProject.dproj" Targets="Clean"/> </Target> <Target Name="LocationDemoProject:Make"> <MSBuild Projects="FireMonkeyMobile\LocationDemo\LocationDemoProject.dproj" Targets="Make"/> </Target> <Target Name="LowLevel3D"> <MSBuild Projects="FireMonkeyMobile\LowLevel3D\LowLevel3D.dproj"/> </Target> <Target Name="LowLevel3D:Clean"> <MSBuild Projects="FireMonkeyMobile\LowLevel3D\LowLevel3D.dproj" Targets="Clean"/> </Target> <Target Name="LowLevel3D:Make"> <MSBuild Projects="FireMonkeyMobile\LowLevel3D\LowLevel3D.dproj" Targets="Make"/> </Target> <Target Name="MobileControls"> <MSBuild Projects="FireMonkeyMobile\Controls\MobileControls.dproj"/> </Target> <Target Name="MobileControls:Clean"> <MSBuild Projects="FireMonkeyMobile\Controls\MobileControls.dproj" Targets="Clean"/> </Target> <Target Name="MobileControls:Make"> <MSBuild Projects="FireMonkeyMobile\Controls\MobileControls.dproj" Targets="Make"/> </Target> <Target Name="PhoneDialer"> <MSBuild Projects="MobileCodeSnippets\PhoneDialer\PhoneDialer.dproj"/> </Target> <Target Name="PhoneDialer:Clean"> <MSBuild Projects="MobileCodeSnippets\PhoneDialer\PhoneDialer.dproj" Targets="Clean"/> </Target> <Target Name="PhoneDialer:Make"> <MSBuild Projects="MobileCodeSnippets\PhoneDialer\PhoneDialer.dproj" Targets="Make"/> </Target> <Target Name="PhotoEditorDemo"> <MSBuild Projects="FireMonkeyMobile\PhotoEditorDemo\PhotoEditorDemo.dproj"/> </Target> <Target Name="PhotoEditorDemo:Clean"> <MSBuild Projects="FireMonkeyMobile\PhotoEditorDemo\PhotoEditorDemo.dproj" Targets="Clean"/> </Target> <Target Name="PhotoEditorDemo:Make"> <MSBuild Projects="FireMonkeyMobile\PhotoEditorDemo\PhotoEditorDemo.dproj" Targets="Make"/> </Target> <Target Name="SendCancelNotifications"> <MSBuild Projects="MobileCodeSnippets\Notifications\SendCancelNotification\SendCancelNotifications.dproj"/> </Target> <Target Name="SendCancelNotifications:Clean"> <MSBuild Projects="MobileCodeSnippets\Notifications\SendCancelNotification\SendCancelNotifications.dproj" Targets="Clean"/> </Target> <Target Name="SendCancelNotifications:Make"> <MSBuild Projects="MobileCodeSnippets\Notifications\SendCancelNotification\SendCancelNotifications.dproj" Targets="Make"/> </Target> <Target Name="SensorInfo"> <MSBuild Projects="FireMonkeyMobile\SensorInfo\SensorInfo.dproj"/> </Target> <Target Name="SensorInfo:Clean"> <MSBuild Projects="FireMonkeyMobile\SensorInfo\SensorInfo.dproj" Targets="Clean"/> </Target> <Target Name="SensorInfo:Make"> <MSBuild Projects="FireMonkeyMobile\SensorInfo\SensorInfo.dproj" Targets="Make"/> </Target> <Target Name="ShareSheet"> <MSBuild Projects="MobileCodeSnippets\ShareSheet\ShareSheet.dproj"/> </Target> <Target Name="ShareSheet:Clean"> <MSBuild Projects="MobileCodeSnippets\ShareSheet\ShareSheet.dproj" Targets="Clean"/> </Target> <Target Name="ShareSheet:Make"> <MSBuild Projects="MobileCodeSnippets\ShareSheet\ShareSheet.dproj" Targets="Make"/> </Target> <Target Name="WebBrowser"> <MSBuild Projects="MobileCodeSnippets\WebBrowser\WebBrowser.dproj"/> </Target> <Target Name="WebBrowser:Clean"> <MSBuild Projects="MobileCodeSnippets\WebBrowser\WebBrowser.dproj" Targets="Clean"/> </Target> <Target Name="WebBrowser:Make"> <MSBuild Projects="MobileCodeSnippets\WebBrowser\WebBrowser.dproj" Targets="Make"/> </Target> <Target Name="VirtualKeyboardDemo"> <MSBuild Projects="FireMonkeyMobile\KeyboardTypes\VirtualKeyboardDemo.dproj"/> </Target> <Target Name="VirtualKeyboardDemo:Clean"> <MSBuild Projects="FireMonkeyMobile\KeyboardTypes\VirtualKeyboardDemo.dproj" Targets="Clean"/> </Target> <Target Name="VirtualKeyboardDemo:Make"> <MSBuild Projects="FireMonkeyMobile\KeyboardTypes\VirtualKeyboardDemo.dproj" Targets="Make"/> </Target> <Target Name="Build"> <CallTarget Targets="AudioRecPlay;DatePicker;FlashLight;FMMusicPlayer;IBLite;ImageRotation;LocationDemoProject;LowLevel3D;MobileControls;PhoneDialer;PhotoEditorDemo;SendCancelNotifications;SensorInfo;ShareSheet;WebBrowser;VirtualKeyboardDemo"/> </Target> <Target Name="Clean"> <CallTarget Targets="AudioRecPlay:Clean;DatePicker:Clean;FlashLight:Clean;FMMusicPlayer:Clean;IBLite:Clean;ImageRotation:Clean;LocationDemoProject:Clean;LowLevel3D:Clean;MobileControls:Clean;PhoneDialer:Clean;PhotoEditorDemo:Clean;SendCancelNotifications:Clean;SensorInfo:Clean;ShareSheet:Clean;WebBrowser:Clean;VirtualKeyboardDemo:Clean"/> </Target> <Target Name="Make"> <CallTarget Targets="AudioRecPlay:Make;DatePicker:Make;FlashLight:Make;FMMusicPlayer:Make;IBLite:Make;ImageRotation:Make;LocationDemoProject:Make;LowLevel3D:Make;MobileControls:Make;PhoneDialer:Make;PhotoEditorDemo:Make;SendCancelNotifications:Make;SensorInfo:Make;ShareSheet:Make;WebBrowser:Make;VirtualKeyboardDemo:Make"/> </Target> <Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/> </Project>
InstallSamples.bat[]
This bat needs to be at the same folder as project group
adb shell pm uninstall -k com.embarcadero.AudioRecPlay adb install MobileCodeSnippets\AudioRecPlay\Android\Release\AudioRecPlay\bin\AudioRecPlay.apk adb shell pm uninstall -k com.embarcadero.DatePicker adb install MobileCodeSnippets\DatePicker\Android\Release\DatePicker\bin\DatePicker.apk adb shell pm uninstall -k com.embarcadero.FlashLight adb install FireMonkeyMobile\FlashLight\Android\Release\FlashLight\bin\FlashLight.apk adb shell pm uninstall -k com.embarcadero.MobileControls adb install FireMonkeyMobile\Controls\Android\Release\MobileControls\bin\MobileControls.apk adb shell pm uninstall -k com.embarcadero.VirtualKeyboardDemo adb install FireMonkeyMobile\KeyboardTypes\Android\Release\VirtualKeyboardDemo\bin\VirtualKeyboardDemo.apk adb shell pm uninstall -k com.embarcadero.LocationDemoProject adb install FireMonkeyMobile\LocationDemo\Android\Release\LocationDemoProject\bin\LocationDemoProject.apk adb shell pm uninstall -k com.embarcadero.FMMusicPlayer adb install FireMonkeyMobile\MusicPlayer\Android\Release\FMMusicPlayer\bin\FMMusicPlayer.apk adb shell pm uninstall -k com.embarcadero.PhotoEditorDemo adb install FireMonkeyMobile\PhotoEditorDemo\Android\Release\PhotoEditorDemo\bin\PhotoEditorDemo.apk adb shell pm uninstall -k com.embarcadero.LowLevel3D adb install FireMonkeyMobile\LowLevel3D\Android\Release\LowLevel3D\bin\LowLevel3D.apk adb shell pm uninstall -k com.embarcadero.SensorInfo adb install FireMonkeyMobile\SensorInfo\Android\Release\SensorInfo\bin\SensorInfo.apk adb shell pm uninstall -k com.embarcadero.IBLite adb install MobileCodeSnippets\IBLite\Android\Release\IBLite\bin\IBLite.apk adb shell pm uninstall -k com.embarcadero.ShareSheet adb install MobileCodeSnippets\ShareSheet\Android\Release\ShareSheet\bin\ShareSheet.apk adb shell pm uninstall -k com.embarcadero.PhoneDialer adb install MobileCodeSnippets\PhoneDialer\Android\Release\PhoneDialer\bin\PhoneDialer.apk adb shell pm uninstall -k com.embarcadero.ImageRotation adb install MobileCodeSnippets\InteractiveGestures\ImageRotation\Android\Release\ImageRotation\bin\ImageRotation.apk adb shell pm uninstall -k com.embarcadero.SendCancelNotifications adb install MobileCodeSnippets\Notifications\SendCancelNotification\Android\Release\SendCancelNotifications\bin\SendCancelNotifications.apk adb shell pm uninstall -k com.embarcadero.WebBrowser adb install MobileCodeSnippets\WebBrowser\Android\Release\WebBrowser\bin\WebBrowser.apk
RunSamples.bat[]
This bat can be anywhere on your system and will run the samples (assuming they are installed) pausing between each one. After the pause it then stops the sample to streamline memory consumption.
Echo AudioRecPlay adb shell am start -n com.embarcadero.AudioRecPlay/com.embarcadero.firemonkey.FMXNativeActivity pause adb shell am force-stop com.embarcadero.AudioRecPlay echo --------------------------------------------------------------------- Echo. Echo DatePicker adb shell am start -n com.embarcadero.DatePicker/com.embarcadero.firemonkey.FMXNativeActivity pause adb shell am force-stop com.embarcadero.DatePicker echo --------------------------------------------------------------------- Echo. Echo FlashLight adb shell am start -n com.embarcadero.FlashLight/com.embarcadero.firemonkey.FMXNativeActivity pause adb shell am force-stop com.embarcadero.FlashLight echo --------------------------------------------------------------------- Echo. Echo MobileControls adb shell am start -n com.embarcadero.MobileControls/com.embarcadero.firemonkey.FMXNativeActivity pause adb shell am force-stop com.embarcadero.MobileControls echo --------------------------------------------------------------------- Echo. Echo VirtualKeyboardDemo adb shell am start -n com.embarcadero.VirtualKeyboardDemo/com.embarcadero.firemonkey.FMXNativeActivity pause adb shell am force-stop com.embarcadero.VirtualKeyboardDemo echo --------------------------------------------------------------------- Echo. Echo LocationDemoProject adb shell am start -n com.embarcadero.LocationDemoProject/com.embarcadero.firemonkey.FMXNativeActivity pause adb shell am force-stop com.embarcadero.LocationDemoProject echo --------------------------------------------------------------------- Echo. Echo FMMusicPlayer adb shell am start -n com.embarcadero.FMMusicPlayer/com.embarcadero.firemonkey.FMXNativeActivity pause adb shell am force-stop com.embarcadero.FMMusicPlayer echo --------------------------------------------------------------------- Echo. Echo PhotoEditorDemo adb shell am start -n com.embarcadero.PhotoEditorDemo/com.embarcadero.firemonkey.FMXNativeActivity pause adb shell am force-stop com.embarcadero.PhotoEditorDemo echo --------------------------------------------------------------------- Echo. Echo LowLevel3D adb shell am start -n com.embarcadero.LowLevel3D/com.embarcadero.firemonkey.FMXNativeActivity pause adb shell am force-stop com.embarcadero.LowLevel3D echo --------------------------------------------------------------------- Echo. Echo SensorInfo adb shell am start -n com.embarcadero.SensorInfo/com.embarcadero.firemonkey.FMXNativeActivity pause adb shell am force-stop com.embarcadero.SensorInfo echo --------------------------------------------------------------------- Echo. Echo IBLite adb shell am start -n com.embarcadero.IBLite/com.embarcadero.firemonkey.FMXNativeActivity pause adb shell am force-stop com.embarcadero.IBLite echo --------------------------------------------------------------------- Echo. Echo ShareSheet adb shell am start -n com.embarcadero.ShareSheet/com.embarcadero.firemonkey.FMXNativeActivity pause adb shell am force-stop com.embarcadero.ShareSheet echo --------------------------------------------------------------------- Echo. Echo PhoneDialer adb shell am start -n com.embarcadero.PhoneDialer/com.embarcadero.firemonkey.FMXNativeActivity pause adb shell am force-stop com.embarcadero.PhoneDialer echo --------------------------------------------------------------------- Echo. Echo ImageRotation adb shell am start -n com.embarcadero.ImageRotation/com.embarcadero.firemonkey.FMXNativeActivity pause adb shell am force-stop com.embarcadero.ImageRotation echo --------------------------------------------------------------------- Echo. Echo SendCancelNotifications adb shell am start -n com.embarcadero.SendCancelNotifications/com.embarcadero.firemonkey.FMXNativeActivity pause adb shell am force-stop com.embarcadero.SendCancelNotifications echo --------------------------------------------------------------------- Echo. Echo WebBrowser adb shell am start -n com.embarcadero.WebBrowser/com.embarcadero.firemonkey.FMXNativeActivity pause adb shell am force-stop com.embarcadero.WebBrowser echo ---------------------------------------------------------------------
UninstallSamples.bat[]
This bat needs to be at the same folder as project group
adb shell pm uninstall -k com.embarcadero.AudioRecPlay adb shell pm uninstall -k com.embarcadero.DatePicker adb shell pm uninstall -k com.embarcadero.FlashLight adb shell pm uninstall -k com.embarcadero.MobileControls adb shell pm uninstall -k com.embarcadero.VirtualKeyboardDemo adb shell pm uninstall -k com.embarcadero.LocationDemoProject adb shell pm uninstall -k com.embarcadero.FMMusicPlayer adb shell pm uninstall -k com.embarcadero.PhotoEditorDemo adb shell pm uninstall -k com.embarcadero.LowLevel3D adb shell pm uninstall -k com.embarcadero.SensorInfo adb shell pm uninstall -k com.embarcadero.IBLite adb shell pm uninstall -k com.embarcadero.ShareSheet adb shell pm uninstall -k com.embarcadero.PhoneDialer adb shell pm uninstall -k com.embarcadero.ImageRotation adb shell pm uninstall -k com.embarcadero.SendCancelNotifications adb shell pm uninstall -k com.embarcadero.WebBrowser