i'm trying to run kivy examples on my android emulator, i can build them and install them on my device without any problem but i can't start them. does anybody have this problem too?
i'm using android API 18 as target.
You can run adb logcat, then try to start your app. After it crashes, you can ctrl+c to stop logcat and search for "died". Your error should be shown a few lines before it says your app died.
First thing, I'm not clear...is your problem with an emulator or a device? Or you have different problems on each?
If it's an emulator, make sure you are using a recent android version (I think you need at least 4.1 or something), and it must have hardware acceleration enabled for kivy to work.
Either way, if the app installs but fails to start, that suggests something is crashing it at the initialisation stage. You should plug your device into your computer, enable adb in its developer options, and run adb logcat to see the device log in real time. Run your application, and you will see the initialisation log and any standard python log when the app fails. This should indicate the problem.
The adb tool comes with the android sdk, so you must have it if you built an apk, but you might need to find it manually somewhere in the sdk folder if it isn't already somewhere in your $PATH.
I have same issue in past and I solve by adding requirements in .spec
This requirements work for me:
requirements = hostpython3==3.7.8,python3==3.7.8,kivy==1.11.1, certifi,chardet, lxml, docutils, future, idna, Kivy-Garden, Pygments, requests, six, soupsieve, urllib3, deep-translator, arabic-reshaper, python-bidi, openssl, pyopenssl, numpy, pytz, python-dateutil, pandas, setuptools, zope.interface, datetime
you have to write all modules and parent module in requirements which your app is using.
To know module which you app is using has two method:
run command pip freeze in current app folder in powershell
install all the module as below photo which help to install your application module
Related
I try to deploy my NativeScript application to my iOS device. I know there have been quite a few questions on this but I just can not get behind it.
What did I try to do?
I followed this tutorial:
http://docs.telerik.com/platform/appbuilder/nativescript/running-your-app/run-app-device
It tells me to install the AppBuilder - which I did (like mentioned here, where I am told to simply run sudo npm install appbuilder -g --unsafe-perm). Executing this (in my project directory) it installs the appbuilder with the following message:
Autocompletion is already enabled
/usr/local/lib
└── appbuilder#3.7.5
So far so good, so I ran appbuilder doctor
WARNING: Mono 3.12 or later is not installed or not configured properly.
You will not be able to work with Android devices in the device simulator or debug on connected Android devices.
To be able to work with Android in the device simulator and debug on connected Android devices,
download and install Mono 3.12 or later from http://www.mono-project.com/download/
When you file an issue, these warnings will help the AppBuilder team to investigate, identify, and resolve the report.
Please, ignore them if you are not experiencing any issues with AppBuilder.
I ignored this warning, since I do not want to deploy to android (yet). So I went ahead on the tutorial and it told me I had to use code-signing of iOS-Apps. On this side they tell me to meet the following prerequisites:
Verify that your preferred AppBuilder client is running and you are logged in.
Verify that you have opened the code for your app in AppBuilder.
Which is where I am already passing out. How do I run the AppBuilder? I thought that was just like NativeScript and I could access anything of it just via the Terminal (if necessary).
I am currently working on automated testing of Qt-Applications on devices running iOS. So far I am able to install and run these Applications fine, but I am unable to read their output. As far as I understood, reading this issue, Qt uses the gdb server to deliver the output of std::out and std::err to the Qt Creator but I can not get my head around on how to use this information. Besides the bundle identifier, I am given the .ipa-file of the application only. I have access to the applications code but I must not change it.
I use the libmobiledevice libraries to handle all tasks like connection, installation and execution of and on the device.
To summarize: I want to read the debug output of a Qt-written application displayed on my console, like it would be in the "Application output" window of my Creator.
I found a way using the imobiledevice libraries. By calling Idevicedebug -u <uuid> run de.foo.app I was able to execute the application. The qDebug output was prompted to std::out.
As the app crashed when started with a locked screen, I had to check for the display being idle by examining the output of idevicediagnostics ioreg IOPower first.
Now, half a year later, I found a solution that worked both elegant and stable.
I installed the ios-deploy tool using node:
npm install -g ios-deploy
Using this, I was able to install the app and listen to it's output via:
ios-deploy --debug --bundle path/to/my.app
I recieved the full qDebug, std::out and std::err output perfectly fine.
To uninstall the app, I simply added the -9 or --uninstall_only option:
ios-deploy --debug --bundle path/to/my.app --uninstall_only
Using this solution the app could be started reliably, without crashing with a locked screen
I've got DalekJS running really well on WinLin, but am interested to know exactly what the process is for running it on iOS.
http://dalekjs.com/docs/ios.html
When running on Windows, for example, I install the DalekJS npm globally, and then install the IE web-driver, before executing my test suite.
On iOS am I expected to do the same thing? Can you install NodeJS on an iPhone? Is there a difference in doing it on the actual device, vs doing it through the emulator?
Also, what are the current obstacles in making it run on iPad?
Thanks!
Dalek will not run on the IPad/Iphone etc. itself (neither will or must NodeJS), it uses the native debugging tools that come with the dev environment through Appium.
Unfortunately, due to some changes that happened in MacOS 10.8 & 10.9 (Changes in the user rights management, etc.) it can only do this in the simulator. We are working on bringing back support for "real" devices with the next version of DalekJS.
So we're building this iOS application. We have performance tests that are automatically run by Jenkins. Of course these tests must be run on the device.
Right now we have a lot of trouble with some tests, and I suspect that they don't clean up after themselves, leaving the app's Documents folder in an uncertain state. Obviously I can fix the cleanup, but this will take a huge time.
I'd love to be able to just delete the app from the device before running the tests. Is there any way we can do this via xcodebuild or any other automatable tool. Could be even applescript or a non-official tool. The only rule is that we may not jailbreak the device.
One multi-platform option is libimobiledevice and the ideviceinstaller utility. It runs on Linux, Mac and Windows and even supports iOS 9.
As noted in the library webpage, it does not depend on jailbreak.
To delete an app do:
ideviceinstaller -uninstall com.somecompany.someapp
I created a Monodroid application, its worked in the emulator with no problem at all. And i copy the .apk file in Andorid phone.
But after installation, it doesnt works.
I am getting Force close issue
How to install a Monodroid Application in an Android Phone?
Are you using the full version of Mono for Android or the evaluation? If you're using the evaluation, that doesn't support deploying to a device.
If you're using the full version, are you building in debug or release mode? If you're in debug mode then the shared library is most likely enabled, which means that the APK will not contain everything the app needs to run. You should use MonoDevelop/Visual Studio to deploy to the device, which will install the shared runtime as well as the app.