I newby in bash. I want to add some files into file (apk file):
PACKAGE_NAME="com.example.myapp"
MAIN_ACTIVITY="MainActivity"
BUILD_DIR="/storage/emulated/0/Documents/GenCoreLite/scripts/build"
OUTPUT_DIR="/storage/emulated/0/Documents/GenCoreLite/scripts/output"
MAIN_ACTIVITY_CODE="
package $PACKAGE_NAME;
import android.app.Activity;
import android.os.Bundle;
public class $MAIN_ACTIVITY extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Тут можна додати ваш код
}
}
"
#Adding data into file
echo "$MAIN_ACTIVITY_CODE" > $SOURCE_DIR/$(echo $PACKAGE_NAME | tr '.' '/')/$MAIN_ACTIVITY.java
#compiling java file
ecj -d $BUILD_DIR $SOURCE_DIR/$(echo $PACKAGE_NAME | tr '.' '/')/$MAIN_ACTIVITY.java
#confert to dex file
d8 $BUILD_DIR/$(echo $PACKAGE_NAME | tr '.' '/')/*.class --output $BUILD_DIR
#Adding dex file to apk file
cd $BUILD_DIR
if [ -f "$OUTPUT_DIR/$APP_NAME-unsigned.apk" ]; then
echo "=== Видалення старого DEX файла з APK ==="
zip -d $OUTPUT_DIR/$APP_NAME-unsigned.apk "classes.dex"
if [ $? -ne 0 ]; then
echo "Помилка видалення старого DEX файла"
exit 1
fi
echo "=== Додавання нового DEX файла до APK ==="
zip -j $OUTPUT_DIR/$APP_NAME-unsigned.apk "$BUILD_DIR/classes.dex"
if [ $? -ne 0 ]; then
echo "Помилка додавання DEX файла в APK"
exit 1
fi
else
echo "Помилка: APK файл не знайдено"
exit 1
fi
I my case i have troubles that classes.dex file was added into apk file with folders (/storage/emulated/0/…/build/classes.dex
But i need that classes.dex was added in apk file like that