Vagrant (ionic-box) not syncing on host folder - android

Why is it when I install ionic-box (for Ionicframework) it's not syncing in my folder?
I added this line
config.vm.synced_folder "projects", "/vagrant_projects"
to Vagrantfile but it's not working. i still need to create manually the folder vagrant_projects in home/vagrant directory which I thought will be create automatically when creating/installing ionic-box.
I already added a new project inside vagrant_projects but i noticed it is not reflecting in the host folder projects.
BtW, I created the folder projects inside the directory where i extract the Vagrantfile.
Here's my reference: http://www.sitepoint.com/ionic-box-vagrant-configuration-hybrid-mobile-apps/ and http://java.dzone.com/articles/getting-started-building-0

config.vm.synced_folder "projects", "/vagrant_projects" will create vagrant_projects folder at / not home/vagrant. So the path of your folder vagrant_projects will be /vagrant_projects not home/vagrant/vagrant_projects.
Your configuration is correct just login to your vm via vagrant ssh and execute following command
ls /vagrant_projects
you should be able to see your synced data now.
vagrant tutorial

Related

Is it possible to allocate these folders in another place?

I am installing Android Studio and I have by default the path C:\Users\Administrator\AppData\Local\Android\sdk to set my SDK. If I choose this option, some folders appeared on the path C:\Users\Administrator.
These folders are:
.android
.AndroidStudio1.3
.oracle_jre_usage
.gradle
To be a little more cleaner I tried to wrap all these folders into another folder but each time I run Android Studio it gives to me the option to configure again the settings. If I configure them again, the folders re-appeared on the path C:\Users\Administrator.
What can I do to wrap these folders into another one or to set another location for them and that the settings will be saved?
EDIT: I prove the solutions on the blog of the answer provided by Rahul Tiwari but I only could get that the folder .android will be in the new folder. The rest folders are at the same location after the changes.
EDIT 2: According to the blog provided by Rahul Tiwari to move the folder .gradle I change the default settings of Android Studio:
File > Other Settings... > Default Settings... > Build, Execution, Deployment > Gradle
Here I have as Service directory path: C:/Users/Administrator/AndroidStudio/.gradle
But the folder .gradle still appears on the path C:/Users/Administrator.
EDIT 3: Trying to remove the folder .AndroidStudio1.3 I changed these lines:
#---------------------------------------------------------------------
# Uncomment this option if you want to customize path to user installed plugins folder. Make sure you're using forward slashes.
#---------------------------------------------------------------------
# idea.plugins.path=${idea.config.path}/plugins
#---------------------------------------------------------------------
# Uncomment this option if you want to customize path to IDE logs folder. Make sure you're using forward slashes.
#---------------------------------------------------------------------
# idea.log.path=${idea.system.path}/log
to these:
#---------------------------------------------------------------------
# Uncomment this option if you want to customize path to user installed plugins folder. Make sure you're using forward slashes.
#---------------------------------------------------------------------
idea.plugins.path=${C:/Users/Administrator/AndroidStudio/.AndroidStudio1.3/config}/plugins
#---------------------------------------------------------------------
# Uncomment this option if you want to customize path to IDE logs folder. Make sure you're using forward slashes.
#---------------------------------------------------------------------
idea.log.path=${C:/Users/Administrator/AndroidStudio/.AndroidStudio1.3/system}/log
but I also couldn't move the folder.
EDIT 4: This is the blog that I mention before (Thank you very much Rahul Tiwari). I post it here because his answer was deleted.
Thanks in advance!
Finally, I got the solution to move three of the folders that I put above. I think it could be interesting to put here the problems that I faced and the changes that I made to solve them.
I'm going to investigate about the last folder, .oracle_jre_usage, and I will complete this answer if I got a solution for it. Look that I complete the solution for .gradle folder.
To move .android folder
Really, following the steps of the blog that Rahul Tiwari provided, this folder could been moved. Nevertheless I'm going to put here all the process:
You have to move your .android folder, after closing Android Studio (if you have it running), to the folder in which you want that it will be stored, in my case, C:\Users\Administrator\AndroidStudio.
BEWARE WITH THE SPACES IN THE NAME OF THE NEW FOLDER, IT COULD GIVE TO YOU PROBLEMS (AS ME). I mean, Android Studio, New Folder or similars.
If you are on Windows, you can do right-click on My Computer > Properties > Advanced System Settings > Environment Variables and create a new environment variable named ANDROID_SDK_HOME and as value you have to put the new path in which .android folder will be stored. It's the same path in which you have moved the .android folder in the step above.
Click "OK" button to accept your changes.
Re-launch Android Studio and look that the .android folder doesn't appear in the default path.
To move .AndroidStudio1.3 folder
With that folder I had some problems because I didn't noticed some details that were very important. Here the steps that I followed:
First of all, you have to close Android Studio before doing any change.
After, you have to move the folder .AndroidStudio1.3 to the path in which you want that it will be stored.
Next, you have to go to the folder in which Android Studio were installed and open "idea.properties" file and changed the lines where idea.config.path and idea.system.path appeared for the new path in which these folders are going to be located.
They have to be something similar to this:
idea.config.path=C:/Users/Administrator/AndroidStudio/.AndroidStudio1.3/config
idea.system.path=C:/Users/Administrator/AndroidStudio/.AndroidStudio1.3/system
Here I had three problems so please be careful:
Notice that the paths are with / and not with \ as Windows put by default.
DON'T CHANGE the values of idea.plugins.path and idea.log.path (My EDIT 3). Be sure that you are changing idea.config.path and idea.system.path values.
Uncomment the lines in which idea.config.path and idea.system.path appears. I mean, remove the # that they have at the begining of each line.
The last step, re-launch Android Studio.
Searching and doing some proves I also get the solution to move .gradle folder. The steps are the same as .android folder but I put here all the steps (with the values that changed) to avoid any confusion. Here it is:
To move .gradle folder
You have to move your .gradle folder, after closing Android Studio (if you have it running), to the folder in which you want that it will be stored, in my case, C:\Users\Administrator\AndroidStudio\.gradle.
BEWARE WITH THE SPACES IN THE NAME OF THE NEW FOLDER, IT COULD GIVE TO YOU PROBLEMS (AS ME). I mean, Android Studio, New Folder or similars.
If you are on Windows, you can do right-click on My Computer > Properties > Advanced System Settings > Environment Variables and create a new environment variable named GRADLE_USER_HOME and as value you have to put the new path in which .gradle folder will be stored. It's the same path in which you have moved the .gradle folder in the step above.
Click "OK" button to accept your changes.
Re-launch Android Studio and look that the .gradle folder doesn't appear in the default path.
How to move data from %UserProfile%
The folders will still remain under %UserProfile%, but not the data.
Move .android
Android Studio is closed
Add Environment Variable
Create "System variable":
Variable name: ANDROID_SDK_HOME
Variable value: D:\Android
Move .AndroidStudio
This is a example with Android Studio version 3.1
Start Android Studio
Help -> Edit Custom Properties...
Click Yes to create file
Edit file with:
idea.config.path=D:/Android/.AndroidStudio3.1/config
idea.system.path=D:/Android/.AndroidStudio3.1/system
The file "idea.properties" is located under:
%UserProfile%/.AndroidStudio3.1/config
Close Android Studio
Delete all under %UserProfile%/.AndroidStudio3.1 except the file "/config/idea.properties"
Optional: Delete older version folders of .AndroidStudio
Don't edit "Android Studio/bin/idea.properties". When updating Android Studio this file is cleared.
Move .gradle
Start Android Studio
File -> Settings... -> Gradle
Change "Service directory path" to:
D:/Android/.gradle
Update Android Studio
Start Android Studio
"Import Studio settings from" is showed
Select: D:/Android/.AndroidStudio3.0/config
I think most of the others answers address the issue, But I found more simple way for windows by adding few environment variables . (Might work for mac as well, I didn't test though)
ANDROID_SDK_ROOT - path to the SDK installation directory
default path - C:\Users\XXXX\AppData\Local\Android\Sdk
Add enviroment variable ANDROID_SDK_ROOT - set value to desired location
Eg: =E:\Android\local\Android\Sdk
For .android folder
default path - C:\Users\XXXX\.android
Add enviroment variable ANDROID_SDK_HOME- set value to desired location
Eg: = E:\Android
For .gradle folder
default path - C:\Users\XXXX\.gradle
Add enviroment variable GRADLE_USER_HOME - set value to desired location
Eg: = E:\Android\.gradle
For .androidstudioXXX
Android Studio-> Help-> Edit Custom Properties
Add below lines
idea.config.path=E:/Android/.AndroidStudio4.0/config
idea.system.path=E:/Android/.AndroidStudio4.0/system
Add environment variable STUDIO_PROPERTIES - set value to desired location
Eg: = E:\Android\idea.properties
Finally don't forget to copy files from the original location to the new location.
Source : https://developer.android.com/studio/command-line/variables
Please see the end of the page to know how to add the environment variable on Windows, Mac or Linux
At least for Android 3.0 the steps in the accepted solution are not enough to be able to run the emulators after moving the .android folder (let's say you moved the folder from c:\Users\<username>\.android to I:\Programs\AppData\.android).
In addition you need to
Copy (or leave) files adbkey and adbkey.pub in old location (i.e. c:\Users\<username>\.android\adbkey, c:\Users\<username>\.android\adbkey.pub)
Replace the old location path string C:\Users\<username>\ in all .INI files found in the new avd location (i.e. in I:\Programs\AppData\.android\avd) with the new location path string I:\Programme\AppData\
Delete all *.qcow2 files from the new avd location (i:\Programme\AppData\.android\avd) which contain the old location path string c:\Users\<username>\. Check Qcow2-files refer to incorrect/nonexistent base-images for an alternative to delete the *.qcow2 files. If you delete the files all data in the emulator is lost, in this case you will get a clean version of Android, like after a hard reset.
To change default .gradle folder using Android Studio 2.2
Open folder of .AndroidStudiox.x (x.x is the version you use) -> config -> options -> gradle.settings.xml file
just right click to open it with wordpad, you should only see 1 option name = serviceDirectoryPath, change the value of that to desired path
remember use / not backward slash \ for folder even in Windows OS
I use junction.exe from Sysinternals to make my Java/Android Studio fully "portable" in Windows:
I have "AndroidStudio" installed in a folder "work".
I have "Java\jdk1.8.0_77_x64" in the same "work".
In the same folder "work" I copied the original ".android", ".AndroidStudio2.2" and ".gradle" folders (from C:\Users\<YourProfile>).
Then in the same parent folder "work" I have copied "junction.exe".
Finally in the same "work" I have a batch __init__.bat with content listed below.
Closed Android Studio and deleted original ".android", ".AndroidStudio2.2" and ".gradle" folders (from C:\Users\<YourProfile>).
Run __init__.bat (as Administrator to set also the JAVA_PATH via setx) to create the new junctions then restart Android Studio. This solution works also after I reimage Windows, just have to remeber to run first the mentioned bat...
PS: When I update java or upgrade Android I have to remeber to tweak the bat with the new revision numbers
Content of __init__.bat:
#echo off
#SET mySrcPath=%cd%
#rem echo "%myPath%"
#rem JAVA_HOME = D:\work\Android\Java\jdk1.8.0_77_x64\
#SET myJavaTarget=Java\jdk1.8.0_77_x64\
#SET myJavaPath=%mySrcPath%\%myJavaTarget%
#if not exist "%myJavaPath%" (
#echo CANNOT FIND myJavaPath = "%myJavaPath%"
#goto _exit_
)
#rem echo myJavaPath = "%myJavaPath%"
#setx JAVA_HOME %myJavaPath%
#SET myTargetPath=%USERPROFILE%
#SET myCopy1=.android
#SET myCopy2=.AndroidStudio2.2
#SET myCopy3=.gradle
#SET mySource1="%mySrcPath%\%myCopy1%"
#SET mySource2="%mySrcPath%\%myCopy2%"
#SET mySource3="%mySrcPath%\%myCopy3%"
#SET myTarget1="%myTargetPath%\%myCopy1%"
#SET myTarget2="%myTargetPath%\%myCopy2%"
#SET myTarget3="%myTargetPath%\%myCopy3%"
#rem echo.
#if not exist %mySource1% (
#echo CANNOT FIND mySource1 = %mySource1%
#goto _exit_
)
#if not exist %mySource2% (
#echo CANNOT FIND mySource2 = %mySource2%
#goto _exit_
)
#if not exist %mySource3% (
#echo CANNOT FIND mySource3 = %mySource3%
#goto _exit_
)
#if not exist %myTarget1% (
#echo creating myTarget1 = %myTarget1% from mySource1 = %mySource1%
#junction.exe %myTarget1% %mySource1%
) else (
#echo myTarget1 = %myTarget1% ALREADY EXISTS !!!!!!
)
#if not exist %myTarget2% (
#echo creating myTarget2 = %myTarget2% from mySource2 = %mySource2%
#junction.exe %myTarget2% %mySource2%
) else (
#echo myTarget2 = %myTarget2% ALREADY EXISTS !!!!!!
)
#if not exist %myTarget3% (
#echo creating myTarget3 = %myTarget3% from mySource3 = %mySource3%
#junction.exe %myTarget3% %mySource3%
) else (
#echo myTarget3 = %myTarget3% ALREADY EXISTS !!!!!!
)
:_exit_
#echo exiting...
#pause

Android-Studio git over ssh

I got a git-server on my Raspberry Pi with gitweb as webinterface.
Its working so far.
Now I want to connect via Android Studio with the built-in ssh to it.
My project dir is :
/home/git/straff.git
I'll connect with this command from Android Studio:
:ssh:git#192.168.178.21:/straff
Android Studio is giving me this when I test the connection:
Cannot access /straff/CVSROOT
I am using password auth for it. I can access from command line tools to my repo...
Why Android Studio cant?
I can access from command line tools to my repo...
Why Android Studio cant?
Your error is you are trying to access 192.168.178.21:/straff which is /straff on that machine. Either provide the full path like below or use this one
:ssh:git#192.168.178.21:straff
Old post:
You can try to specify the full path to Android Studio:
:ssh:git#192.168.178.21:/home/git/straff
I am using password auth for it.
That means the ssh connection doesn't use a private/public (~/.ssh/id_rsa(.pub)) key.
A good tutorial to follow with Android Studio is the one titled "How to push to a remote Git repository over SSH with private/public key authentication using Android Studio".
Hmm, should the URL be like:
ssh://git#192.168.178.21/straff
I had problems with setting ssh key. I solved it by creating id_rsa -titled file under .ssh-directory (under user home-dir) and putting my RSA-stuff into it.
If you already have the remote git repository, which you want to check out, and you have a private key, then the instructions on https://www.londonappdeveloper.com/how-to-push-to-a-remote-git-repository-over-ssh-with-privatepublic-key-authentication-using-android-studio/ might help to some extent, but they are for older version of Android Studio and they are too complicated.
What you need to do (especially when you start from scratch) is:
Ensure that your key is an OpenSSH key, and that it's a private key (not a public key). This is where the above mentioned instructions are misleading - they point to the key in supposedly Putty format (the .ppk file), and this doesn't work. If you have a Putty key, use Putty's puttygen.exe tool to export the private key in OpenSSH format.
Create the config file as described in those instructions. I.e.
create the text file named config in .ssh subdirectory of your user directory. In my case the path would be C:\Users\Eugene.ssh\config.
Put the following to this file:
Host my-host.com
HostName my-host.com
Port 22
IdentityFile C:\Users\Eugene.ssh\my-private-key-for-my-host.openssh
(the original instructions include indentation of lines 2-4, but I couldn't add any indentation here).
Use Checkout Project From Version Control menu item in Android Studio's welcome screen to initiate GIT checkout.
Use the following settings during checkout (curly brackets contain the values which you replace with yours):
Git Repository URL: {projectalias}#{my-host.com}:base/{projectname}
Parent directory: eg. "z:\Projects" The path which must exist, and in which the new project is created
Project directory: eg. "myproject". The directory with this name will be created in Parent directory, so the files will be checked out to Parent_directory\Project_directory, eg. "z:\Projects\myproject".

Graphhopper on Android offline routing pbf file error

I'm trying to create an application that combines Osmdroid with Graphhoper to achieve offline routing on a city area. I exported osm file from Open Street Maps and converted that file to pbf. The problem is that an application fails to load the pbf file because Graphhoper trying to parse the pbf file using java.xml.stream which is not available on Android devices. Here is the function that I'm using to load the pbf file.
public void setRouting(){
File dir = new File(Environment.getExternalStorageDirectory(),"osmdroid");
File osmFile=new File(dir,"offline-map.osm.pbf");
if(!osmFile.exists()){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("File doesn't exist").setTitle("Error");
AlertDialog dialog = builder.create();
dialog.show();
return;
}
GraphHopper hopper = new GraphHopper().forMobile();
hopper.setEncodingManager(encodingManager);
hopper.setGraphHopperLocation(getApplicationContext().getFilesDir().getPath());
hopper.setOSMFile(osmFile.getAbsolutePath());
hopper.setCHShortcuts("fastest");
hopper.importOrLoad();
}
I know that it is possible to convert osm to ghz (which works in my case):
https://github.com/graphhopper/graphhopper/blob/0.3/docs/android/index.md
but I can't execute this:
./graphhopper.sh import <your-osm-file>
on windows OS.
I'm not using Maven to include Graphhopper. I inserted jar into libs folder.
How can I import a osm file into my project to achieve offline routing?
I finally managed to resolve this.
This is how I did it:
Download Apache maven
Scroll down to Install instruction - Windows section and follow maven installation steps
Set Enviroment User Variable MAVEN_HOME ie: C:\Program Files\Apache Software Foundation\apache-maven-3.2.1. (important use same value as for M2_HOME)
Clone Graphopper git to your local machine git or download repository as zip and extract it somewhere on your local disk
Download and install Cygwin
Run Cygwin
$ cd /cygdrive/
You are now positioned on root type "ls" to see all drives on computer
Position your self into Graphhopper git root.
ie for c:\git\graphopper:
$ cd c
$ cd git
$ cd graphhoper
see linux navigation tips for how to navigate
10. Copy your filename.osm file to Graphhoper git root
11. $ ./graphhopper.sh import filename.osm
12. You shud have folder filename-gh in your Graphopper git root folder which have all you need.
13. Copy that folder to your mobile device
14. You can now use something like this:
`
File dir = new File(Environment.getExternalStorageDirectory(),"map-parent-folder-name");
File ghDir=new File(dir.getAbsolutePath(),"filename-gh");
hopper = new GraphHopper().forMobile();
hopper.setCHShortcuts("fastest");
hopper.load(ghDir.getAbsolutePath());
to init graphopper
Two more tips. If you don't have Graphopper jar (graphhopper-0.3-SNAPSHOT.jar) you can create one with:
$ ./graphhopper.sh build filename.osm
new jar is located in core/target/ folder
You will need trove-3.0.3.jar which you may download here. Just add trove-3.0.3.jar from the zip into the libs folder of your project
I hope that I didn't forget anything :)
You cannot import the xml/pbf on Android (yet). As you are on windows have a look at the docs how to execute the import via cygwin.

View directory that I created for my application on android

I create a directory using new File(mContext.getApplicationContext().getExternalFilesDir(null), "my_stuff"). I then put some files in it. Is there a way to view the content of that directory either through terminal using adb command or through eclipse? I am running app on a device while testing. By content I mean the name of the files that I added; and then if they are empty.
you can do it with few different options, but if you just want to dump to the console try:
cat you_file.txt

IBM Worklight 5.0.5.2 - How to change the Android package name

In worklight it seems that the android package name is set by the varible ${packageName}.
Where is this variable set? And how can I change it?
Right now the default seems to be com.applicationName. In the app im working on, this package name already exists in Google Play, so I would like to change it to com.corperationName.applicationName.
I know I can do this via Ant during Android project compilation, but I was wondering if there was somewhere within Worklight I can do this.
I was able to do this for Shell and Inner projects by making the following changes to the Shell project (check in or backup the shell and test before committing changes):
Add the following dir structure to the ShellApp/android/native/src
directory: com/corpname/{$appName}
Copy the contents of the ${packageDirectory} directory into the new
{$appName} directory (for me it was
${appName}.java.wltemplate.wluser, ForegroundService.java.wltemplate,
GCMIntentService.java.wltemplate).
In the files copied, every reference to ${packageName} needs to be
replaced with com.corpname.{$appName}
In AndroidManifest.xml.wltemplate.wluser, every reference to
${packageName} needs to be replaced with com.corpname.{$appName}.
Remove the ${packageDirectory} from the project.
Every inner project created from this Shell project should now have the package structure as com.corpname.appname

Categories

Resources