Coder Social home page Coder Social logo

mobile-dev-bootstrap's Introduction

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="[email protected]"
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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.