Skip to content

Setup developer workstation for Android and iOS mobile development

Notifications You must be signed in to change notification settings

jinjorge/mobile-dev-bootstrap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 

Repository files navigation

Why this fork?

This fork is slightly different than the original in that is supports true sudo-less install of Gems

mobile-dev-bootstrap

Setup developer workstation for Android and iOS mobile development

Requirements

  • A fresh installed OS X 10.10+
  • User with admin rights
  • Apple developer account (for Xcode)
  • Internet connection

How to use ?

On your developer machine run:

bash <(curl -s https://raw.githubusercontent.com/jinjorge/mobile-dev-bootstrap/master/mobile-dev-bootstrap.sh)

At the end you will have:

  • Android and iOS 📱 development ready environment

Why ?

To save time

All the process is automated, it asks the user password and Apple Developer password at the beginning.

What do you get ?

OS X optimised mobile Android and iOS development.

Android

iOS

UI Automation

Web based frameworks

Other tools

Upgrading installed software

To update installed software you can use the mobile-dev-update utility. By default it will update the OSX, Xcode, Android SDK Componets, Ruby packages, Brew packages, NPM packages, PHP packages.

mobile-dev-update

Or if you need to update specific component:

mobile-dev-update xcode

Available options are:

  • osx - Updates the OSX.
  • xcode - Installs the latest Xcode.
  • android - Updates installed Android SDK
  • brew - Updates installed brew packages
  • cask - Updates installed Brew casks (e.g. java, java7, oclint)
  • gem - Updates installed Ruby gems
  • npm - Updates installed npm packages
  • php - Updates installed php packages.

Java enviroment

The Java environment is controlled by jenv.

To get current java versions:

jenv version

To list installed java versions:

jenv versions

To change default java version:

jenv global 1.8

To change shell session default java version:

jenv shell 1.8

Upgrading manually

In case you prefer upgrading the software manually.

Android SDK

Install all updates:

packages=""
for package in $(android list sdk --no-ui | \
	grep -v -e "Obsolete" -e "Sources" -e  "x86" -e  "Samples" \
	-e "ARM EABI" -e "ARM System Image" -e "API 8" -e "API 8" -e "API 10" -e "API 15" \
	-e "API 16" -e "API 17" -e "API 18"  -e "API 20" -e "rc" \
	-e  "Documentation" -e  "MIPS" -e "Android TV" \
	-e "Build-tools, revision 19.1" -e "Build-tools, revision 20" -e "Build-tools, revision 21.1.2" \
	-e  "Glass" -e  "XML" -e  "URL" -e  "Packages available" \
	-e  "Fetch" -e  "Web Driver" | \
	cut -d'-' -f1)
do
   	packages=$(printf "${packages},${package}")
done

( sleep 5 && while [ 1 ]; do sleep 1; echo y; done ) | android update sdk --no-ui --filter "$packages"

Xcode

All installed Xcodes are following the Xcode-<version>.app naming convention. The /Applications/Xcode.app is a symbolic link to the current default Xcode.

To install a new version of Xcode use xcode-install:

export XCODE_INSTALL_USER="apple.developer@gmail.com"
XCODE_INSTALL_PASSWORD="secret"
xcversion install 7.1
sudo xcodebuild -license accept

Brew packages

Update all packages:

brew update
brew upgrade

⚠️ Warning: If android-sdk was updated also run the steps from the Android SDK.

Brew Cask packages

Update all packages:

  brew update
  brew upgrade brew-cask
  brew cask update

Gem packages

⚠️ Don't use sudo when updating Ruby packages, because we are using rbenv. Update all packages:

gem update -p

⚠️ Temporary fix for cocoapods

gem uninstall psych --all
gem install psych -v 2.0.0

Npm packages

Update all packages:

npm update -g

About

Setup developer workstation for Android and iOS mobile development

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages