1#!/bin/sh 2 3if [ $# != 1 ]; then 4 echo "Usage: prepare.sh [android project path]" 5 echo "(prepare.sh ~/work/mlterm-x.x.x/android => setup at ~/work/mlterm-x.x.x/android)" 6 echo "(prepare.sh . => setup at the current directory)" 7 exit 1 8fi 9 10PROJECT_PATH=$1 11 12echo "Prepare to build for android. (project: ${PROJECT_PATH})" 13echo "Press enter key to continue." 14read IN 15 16mkdir -p ${PROJECT_PATH}/app/src/main 17 18(cd ${PROJECT_PATH}; rm build.gradle settings.gradle app/build.gradle; gradle init) 19if [ $? != 0 ]; then 20 echo "Install and setup gradle in advance." 21 exit 1 22fi 23 24cp build-gradle.sh ${PROJECT_PATH}/ 25chmod 755 ${PROJECT_PATH}/build-gradle.sh 26cp AndroidManifest.xml ${PROJECT_PATH}/app/src/main 27 28mkdir -p ${PROJECT_PATH}/app/src/main/jni/baselib/pobl ${PROJECT_PATH}/app/src/main/jni/baselib/src 29cp ../baselib/src/*.[ch] ${PROJECT_PATH}/app/src/main/jni/baselib/src/ 30cp jni/bl_*.h ${PROJECT_PATH}/app/src/main/jni/baselib/src/ 31cp ${PROJECT_PATH}/app/src/main/jni/baselib/src/*.h ${PROJECT_PATH}/app/src/main/jni/baselib/pobl/ 32 33mkdir -p ${PROJECT_PATH}/app/src/main/jni/encodefilter/mef 34cp -R ../encodefilter/src ../encodefilter/module ${PROJECT_PATH}/app/src/main/jni/encodefilter 35cp ${PROJECT_PATH}/app/src/main/jni/encodefilter/src/*.h ${PROJECT_PATH}/app/src/main/jni/encodefilter/mef/ 36 37cp -R ../libind ${PROJECT_PATH}/app/src/main/jni/ 38 39cp -R ../vtemu ${PROJECT_PATH}/app/src/main/jni/ 40 41mkdir -p ${PROJECT_PATH}/app/src/main/jni/uitoolkit/fb 42mkdir -p ${PROJECT_PATH}/app/src/main/jni/uitoolkit/libotl 43cp ../uitoolkit/*.[ch] ${PROJECT_PATH}/app/src/main/jni/uitoolkit 44cp ../uitoolkit/fb/*.[ch] ${PROJECT_PATH}/app/src/main/jni/uitoolkit/fb 45cp ../uitoolkit/libotl/*.[ch] ${PROJECT_PATH}/app/src/main/jni/uitoolkit/libotl 46 47mkdir -p ${PROJECT_PATH}/app/src/main/jni/main 48cp ../main/*.[ch] ${PROJECT_PATH}/app/src/main/jni/main/ 49 50mkdir -p ${PROJECT_PATH}/app/src/main/jni/common 51cp ../common/c_imagelib.c ${PROJECT_PATH}/app/src/main/jni/common/ 52cp ../common/c_sixel.c ${PROJECT_PATH}/app/src/main/jni/common/ 53cp ../common/c_animgif.c ${PROJECT_PATH}/app/src/main/jni/common/ 54 55cp jni/Android.mk ${PROJECT_PATH}/app/src/main/jni/ 56cp jni/ui_event_source.c ${PROJECT_PATH}/app/src/main/jni/uitoolkit/ 57cp jni/ui.h jni/ui_display.[ch] jni/ui_connect_dialog.c ${PROJECT_PATH}/app/src/main/jni/uitoolkit/fb/ 58cp jni/main.c jni/version.h ${PROJECT_PATH}/app/src/main/jni/main/ 59 60mkdir -p ${PROJECT_PATH}/app/src/main/java/mlterm/native_activity 61cp src/mlterm/native_activity/*.java ${PROJECT_PATH}/app/src/main/java/mlterm/native_activity/ 62 63cp -R res ${PROJECT_PATH}/app/src/main 64 65GRADLE_VER=`gradle --version|sed -n 's/Gradle \([0-9.]*\)/\1/p'` 66cat << END > ${PROJECT_PATH}/build.gradle 67buildscript { 68 repositories { 69 jcenter() 70 //google() 71 maven { 72 url 'https://maven.google.com/' 73 name 'Google' 74 } 75 } 76 77 dependencies { 78 classpath 'com.android.tools.build:gradle:$GRADLE_VER' 79 } 80} 81 82allprojects { 83 repositories { 84 jcenter() 85 //google() 86 maven { 87 url 'https://maven.google.com/' 88 name 'Google' 89 } 90 } 91} 92END 93 94echo "include ':app'" > ${PROJECT_PATH}/settings.gradle 95 96cp build.gradle ${PROJECT_PATH}/app 97 98echo "done." 99