android studio for linux 安装,Linux 下, 安装Android Studio

1 #!/bin/sh2 #3 # ---------------------------------------------------------------------

4 # Android Studio startup script.5 # ---------------------------------------------------------------------

6 #7 message()8 {9 TITLE="Cannot start Android Studio"

10

11 //[ -t FD ] 如果文件描述符 FD 打开且指向一个终端则为真。12 //[-n string] 如果 string长度非零,则为真 [ -n "$myvar"]13

14 if [ -t 1]; then15 echo "ERROR: $TITLE

$1"

16 elif [ -n `which zenity` ]; then17 zenity --error --title="$TITLE" --text="$1"

18 elif [ -n `which kdialog` ]; then19 kdialog --error --title "$TITLE" "$1"

20 elif [ -n `which xmessage` ]; then21 xmessage -center "ERROR: $TITLE: $1"

22 elif [ -n `which notify-send` ]; then23 notify-send "ERROR: $TITLE: $1"

24 else

25 echo "ERROR: $TITLE

$1"

26 fi27 }28 UNAME=`which uname`29 GREP=`which egrep`30 GREP_OPTIONS=""

31 CUT=`which cut`32 READLINK=`which readlink`33 MKTEMP=`which mktemp`34 RM=`which rm`35 CAT=`which cat`36 TR=`which tr`37

38 #[ -o OPTIONNAME ] 如果 shell选项 “OPTIONNAME” 开启则为真。39 #[ -z STRING ] “STRING” 的长度为零则为真。40

41 if [ -z "$UNAME" -o -z "$GREP" -o -z "$CUT" -o -z "$MKTEMP" -o -z "$RM" -o -z "$CAT" -o -z "$TR"]; then42 message "Required tools are missing - check beginning of "$0" file for details."

43 exit 1

44 fi45

46 OS_TYPE=`"$UNAME" -s`47

48 # ---------------------------------------------------------------------

49 # Locate a JDK installation directory which will be used to run the IDE.50 # Try (in order): STUDIO_JDK, JDK_HOME, JAVA_HOME, "java" inPATH.51 # ---------------------------------------------------------------------

52

53 #[ -x FILE ] 如果 FILE 存在且是可执行的则为真。54 #[ -a FILE ] 如果 FILE 存在则为真。55

56 if [ -n "$STUDIO_JDK" -a -x "$STUDIO_JDK/bin/java"]; then57 JDK="$STUDIO_JDK"

58 elif [ -n "$JDK_HOME" -a -x "$JDK_HOME/bin/java"]; then59 JDK="$JDK_HOME"

60 elif [ -n "$JAVA_HOME" -a -x "$JAVA_HOME/bin/java"]; then61 JDK="$JAVA_HOME"

62 else

63 JAVA_BIN_PATH=`which java`64 if [ -n "$JAVA_BIN_PATH"]; then65 if [ "$OS_TYPE" = "FreeBSD"]; then66 JAVA_LOCATION=`JAVAVM_DRYRUN=yes java | "$GREP" '^JAVA_HOME' | "$CUT" -c11-`67 if [ -x "$JAVA_LOCATION/bin/java"]; then68 JDK="$JAVA_LOCATION"

69 fi70 elif [ "$OS_TYPE" = "SunOS"]; then71 JAVA_LOCATION="/usr/jdk/latest"

72 if [ -x "$JAVA_LOCATION/bin/java"]; then73 JDK="$JAVA_LOCATION"

74 fi75 elif [ "$OS_TYPE" = "Darwin"]; then76 JAVA_LOCATION=`/usr/libexec/java_home`77 if [ -x "$JAVA_LOCATION/bin/java"]; then78 JDK="$JAVA_LOCATION"

79 fi80 fi81

82 if [ -z "$JDK" -a -x "$READLINK"]; then83 JAVA_LOCATION=`"$READLINK" -f "$JAVA_BIN_PATH"`84 case "$JAVA_LOCATION" in

85 */jre/bin/java)86 JAVA_LOCATION=`echo "$JAVA_LOCATION" | xargs dirname | xargs dirname |xargs dirname` ;;87 *)88 JAVA_LOCATION=`echo "$JAVA_LOCATION" | xargs dirname |xargs dirname` ;;89 esac90 if [ -x "$JAVA_LOCATION/bin/java"]; then91 JDK="$JAVA_LOCATION"

92 fi93 fi94 fi95 fi96

97 #[ -z STRING ] “STRING” 的长度为零则为真。98

99 if [ -z "$JDK"]; then100 message "No JDK found. Please validate either STUDIO_JDK, JDK_HOME or JAVA_HOME environment variable points to valid JDK installation."

101 exit 1

102 fi103

104 VERSION_LOG=`"$MKTEMP" -t java.version.log.XXXXXX`105 "$JDK/bin/java" -version 2> "$VERSION_LOG"

106 "$GREP" 'OpenJDK' "$VERSION_LOG" > /dev/null

107 OPEN_JDK=$?

108 "$GREP" "64-Bit|x86_64" "$VERSION_LOG" > /dev/null

109 BITS=$?

110 "$RM" -f "$VERSION_LOG"

111 if [ $OPEN_JDK -eq 0]; then112 echo "WARNING: You are launching the IDE using OpenJDK Java runtime."

113 echo114 echo "ITS KNOWN TO HAVE PERFORMANCE AND GRAPHICS ISSUES!"

115 echo "SWITCH TO THE ORACLE(SUN) JDK BEFORE REPORTING PROBLEMS!"

116 echo117 echo "NOTE: If you have both Oracle (Sun) JDK and OpenJDK installed"

118 echo "please validate either STUDIO_JDK, JDK_HOME, or JAVA_HOME environment variable points to valid Oracle (Sun) JDK installation."

119 echo "See http://ow.ly/6TuKQ for more info on switching default JDK."

120 echo121 echo "Press Enter to continue."

122 # ---------------------------------------------------------------------

123 # COMMENT LINE BELOW TO REMOVE PAUSE AFTER OPEN JDK WARNING124 # ---------------------------------------------------------------------

125 read IGNORE126 fi127 if [ $BITS -eq 0]; then128 BITS="64"

129 else

130 BITS=""

131 fi132

133 # ---------------------------------------------------------------------

134 # Ensure IDE_HOME points to the directory where the IDE isinstalled.135 # ---------------------------------------------------------------------

136

137 #[ -L FILE ] 如果 FILE 存在且是一个符号连接则为真。138

139 SCRIPT_LOCATION=$0

140 if [ -x "$READLINK"]; then141 while [ -L "$SCRIPT_LOCATION" ]; do

142 SCRIPT_LOCATION=`"$READLINK" -e "$SCRIPT_LOCATION"`143 done144 fi145

146 IDE_HOME=`dirname "$SCRIPT_LOCATION"`/..147 IDE_BIN_HOME=`dirname "$SCRIPT_LOCATION"`148

149 # ---------------------------------------------------------------------

150 # Collect JVM options and properties.151 # ---------------------------------------------------------------------

152 if [ -n "$STUDIO_PROPERTIES"]; then153 IDE_PROPERTIES_PROPERTY="-Didea.properties.file="$STUDIO_PROPERTIES""

154 fi155

156 MAIN_CLASS_NAME="$STUDIO_MAIN_CLASS_NAME"

157 if [ -z "$MAIN_CLASS_NAME"]; then158 MAIN_CLASS_NAME="com.intellij.idea.Main"

159 fi160

161 VM_OPTIONS_FILE="$STUDIO_VM_OPTIONS"

162 if [ -z "$VM_OPTIONS_FILE"]; then163 VM_OPTIONS_FILE="$IDE_BIN_HOME/studio$BITS.vmoptions"

164 fi165

166 if [ -r "$VM_OPTIONS_FILE"]; then167 VM_OPTIONS=`"$CAT" "$VM_OPTIONS_FILE" | "$GREP" -v "^#.*" | "$TR" '' ' '`168 VM_OPTIONS="$VM_OPTIONS -Djb.vmOptionsFile="$VM_OPTIONS_FILE""

169 fi170

171 IS_EAP="true"

172 if [ "$IS_EAP" = "true"]; then173 OS_NAME=`echo $OS_TYPE | "$TR" '[:upper:]' '[:lower:]'`174 AGENT_LIB="yjpagent-$OS_NAME$BITS"

175 if [ -r "$IDE_BIN_HOME/lib$AGENT_LIB.so"]; then176 AGENT="-agentlib:$AGENT_LIB=disablej2ee,disablealloc,delay=10000,sessionname=AndroidStudioPreview"

177 fi178 fi179

180 COMMON_JVM_ARGS=""-Xbootclasspath/a:$IDE_HOME/lib/boot.jar" -Didea.paths.selector=AndroidStudioPreview $IDE_PROPERTIES_PROPERTY"

181 IDE_JVM_ARGS="-Didea.platform.prefix=AndroidStudio"

182 ALL_JVM_ARGS="$VM_OPTIONS $COMMON_JVM_ARGS $IDE_JVM_ARGS $AGENT $REQUIRED_JVM_ARGS"

183

184 CLASSPATH="$IDE_HOME/lib/bootstrap.jar"

185 CLASSPATH="$CLASSPATH:$IDE_HOME/lib/extensions.jar"

186 CLASSPATH="$CLASSPATH:$IDE_HOME/lib/util.jar"

187 CLASSPATH="$CLASSPATH:$IDE_HOME/lib/jdom.jar"

188 CLASSPATH="$CLASSPATH:$IDE_HOME/lib/log4j.jar"

189 CLASSPATH="$CLASSPATH:$IDE_HOME/lib/trove4j.jar"

190 CLASSPATH="$CLASSPATH:$IDE_HOME/lib/jna.jar"

191 CLASSPATH="$CLASSPATH:$JDK/lib/tools.jar"

192 if [ -n "$STUDIO_CLASSPATH"]; then193 CLASSPATH="$CLASSPATH:$STUDIO_CLASSPATH"

194 fi195 export CLASSPATH196

197 LD_LIBRARY_PATH="$IDE_BIN_HOME:$LD_LIBRARY_PATH"

198 export LD_LIBRARY_PATH199

200 # ---------------------------------------------------------------------

201 # Run the IDE.202 # ---------------------------------------------------------------------

203 while true ; do

204 eval "$JDK/bin/java" $ALL_JVM_ARGS -Djb.restart.code=88 $MAIN_CLASS_NAME $*

205 test $? -ne 88 && break

206 done

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值