Skip to content

Instantly share code, notes, and snippets.

@romanbb
Last active August 29, 2015 14:05
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save romanbb/1d6975386f0d0ab41e99 to your computer and use it in GitHub Desktop.
Save romanbb/1d6975386f0d0ab41e99 to your computer and use it in GitHub Desktop.
#!/bin/bash
SDK_VER=19
CUSTOM_VER=119
CUSTOM_NAME=cm
if [ -z "$OUT" ]; then
echo "Please lunch a product before using this command"
exit 1
else
OUTDIR=${OUT%/*/*/*}
fi
STUBJAR=${OUTDIR}/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/classes.jar
FRAMEWORKJAR=${OUTDIR}/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar
COREJAR=${OUTDIR}/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar
FRAMEWORKRESJAR=${OUTDIR}/target/common/obj/JAVA_LIBRARIES/framework-base_intermediates/classes.jar
TELEPHONYJAR=${OUTDIR}/target/common/obj/JAVA_LIBRARIES/telephony-common_intermediates/classes.jar
if [ ! -f $STUBJAR ]; then
make $STUBJAR
fi
if [ ! -f $FRAMEWORKJAR ]; then
make $FRAMEWORKJAR
fi
if [ ! -f $COREJAR ]; then
make $COREJAR
fi
if [ ! -f $FRAMEWORKRESJAR ]; then
make $FRAMEWORKRESJAR
fi
if [ ! -f $TELEPHONYJAR ]; then
make $TELEPHONYJAR
fi
TMP_DIR=${OUTDIR}/tmp
mkdir -p ${TMP_DIR}
$(cd ${TMP_DIR}; jar -xf ${STUBJAR})
$(cd ${TMP_DIR}; jar -xf ${COREJAR})
$(cd ${TMP_DIR}; jar -xf ${FRAMEWORKJAR})
$(cd ${TMP_DIR}; jar -xf ${FRAMEWORKRESJAR})
$(cd ${TMP_DIR}; jar -xf ${TELEPHONYJAR})
jar -cf ${OUTDIR}/android.jar -C ${TMP_DIR}/ .
echo "android.jar created at ${OUTDIR}/android.jar"
echo "Now attempting to create new sdk platform with it"
if [ -z "$ANDROID_HOME" ]; then
ANDROID=$(command -v emulator)
ANDROID_HOME=${ANDROID%/*}
if [ -z "$ANDROID_HOME" ]; then
echo "ANDROID_HOME variable is not set. Do you have the sdk installed ?"
exit 1
fi
fi
cp -rf ${ANDROID_HOME}/platforms/android-${SDK_VER} ${ANDROID_HOME}/platforms/android-${SDK_VER}-${CUSTOM_NAME}
rm -f ${ANDROID_HOME}/platforms/android-${SDK_VER}-${CUSTOM_NAME}/android.jar
cp -f ${OUTDIR}/android.jar ${ANDROID_HOME}/platforms/android-${SDK_VER}-${CUSTOM_NAME}/android.jar
sed -i 's/^ro\.build\.version\.sdk=.*/ro.build.version.sdk=119/g' ${ANDROID_HOME}/platforms/android-${SDK_VER}-${CUSTOM_NAME}/build.prop
sed -i 's/^ro\.build\.version\.release=.*/ro.build.version.release=4.4-cm/g' ${ANDROID_HOME}/platforms/android-${SDK_VER}-${CUSTOM_NAME}/build.prop
sed -i 's/AndroidVersion.ApiLevel=19/AndroidVersion.ApiLevel=119/' ${ANDROID_HOME}/platforms/android-${SDK_VER}-${CUSTOM_NAME}/source.properties
sed -i 's/Pkg.Desc=/Pkg.Desc=CM /' ${ANDROID_HOME}/platforms/android-${SDK_VER}-${CUSTOM_NAME}/source.properties
#!/bin/bash
SDK_VER=21
CUSTOM_VER=121
CUSTOM_NAME=cm
if [ -z "$OUT" ]; then
echo "Please lunch a product before using this command"
exit 1
else
OUTDIR=${OUT%/*/*/*}
fi
STUBJAR=${OUTDIR}/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/classes.jar
FRAMEWORKJAR=${OUTDIR}/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar
COREJAR=${OUTDIR}/target/common/obj/JAVA_LIBRARIES/core-libart_intermediates/classes.jar
#FRAMEWORKRESJAR=${OUTDIR}/target/common/obj/APPS/framework-base_intermediates/classes.jar
TELEPHONYJAR=${OUTDIR}/target/common/obj/JAVA_LIBRARIES/telephony-common_intermediates/classes.jar
if [ ! -f $STUBJAR ]; then
make $STUBJAR
fi
if [ ! -f $FRAMEWORKJAR ]; then
make $FRAMEWORKJAR
fi
if [ ! -f $COREJAR ]; then
make $COREJAR
fi
#if [ ! -f $FRAMEWORKRESJAR ]; then
#make $FRAMEWORKRESJAR
#fi
if [ ! -f $TELEPHONYJAR ]; then
make $TELEPHONYJAR
fi
TMP_DIR=${OUTDIR}/tmp
mkdir -p ${TMP_DIR}
$(cd ${TMP_DIR}; jar -xf ${STUBJAR})
$(cd ${TMP_DIR}; jar -xf ${COREJAR})
$(cd ${TMP_DIR}; jar -xf ${FRAMEWORKJAR})
#$(cd ${TMP_DIR}; jar -xf ${FRAMEWORKRESJAR})
$(cd ${TMP_DIR}; jar -xf ${TELEPHONYJAR})
jar -cf ${OUTDIR}/android.jar -C ${TMP_DIR}/ .
echo "android.jar created at ${OUTDIR}/android.jar"
echo "Now attempting to create new sdk platform with it"
if [ -z "$ANDROID_HOME" ]; then
ANDROID=$(command -v emulator)
ANDROID_HOME=${ANDROID%/*}
if [ -z "$ANDROID_HOME" ]; then
echo "ANDROID_HOME variable is not set. Do you have the sdk installed ?"
exit 1
fi
fi
cp -rf ${ANDROID_HOME}/platforms/android-${SDK_VER} ${ANDROID_HOME}/platforms/android-${SDK_VER}-${CUSTOM_NAME}
rm -f ${ANDROID_HOME}/platforms/android-${SDK_VER}-${CUSTOM_NAME}/android.jar
cp -f ${OUTDIR}/android.jar ${ANDROID_HOME}/platforms/android-${SDK_VER}-${CUSTOM_NAME}/android.jar
sed -i 's/^ro\.build\.version\.sdk=.*/ro.build.version.sdk=121/g' ${ANDROID_HOME}/platforms/android-${SDK_VER}-${CUSTOM_NAME}/build.prop
sed -i 's/^ro\.build\.version\.release=.*/ro.build.version.release=5.0-cm/g' ${ANDROID_HOME}/platforms/android-${SDK_VER}-${CUSTOM_NAME}/build.prop
sed -i 's/AndroidVersion.ApiLevel=21/AndroidVersion.ApiLevel=121/' ${ANDROID_HOME}/platforms/android-${SDK_VER}-${CUSTOM_NAME}/source.properties
sed -i 's/Pkg.Desc=/Pkg.Desc=CM /' ${ANDROID_HOME}/platforms/android-${SDK_VER}-${CUSTOM_NAME}/source.properties
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment