Problem description
Have an error:
CANNOT LINK EXECUTABLE "aapt2": cannot locate symbol "__emutls_get_address" referenced by "/data/data/com.termux/files/usr/bin/aapt2"...
Помилка створення APK файлу
I have script:
#!/data/data/com.termux/files/usr/bin/sh
# Додайте PATH
export PATH=$PATH:/data/data/com.termux/files/usr/bin
echo "=== Starting script ==="
pkg update -y
pkg upgrade -y
pkg install -y openjdk-17 dx ecj aapt2 termux-api
sudo apt update && sudo apt full-upgrade -y
pkg update -y
pkg upgrade -y
echo "=== Packages installed ==="
# Параметри
APP_NAME="MyApp"
PACKAGE_NAME="com.example.myapp"
MAIN_ACTIVITY="MainActivity"
SOURCE_DIR="/storage/emulated/0/Documents/GenCoreLite/scripts/src"
BUILD_DIR="/storage/emulated/0/Documents/GenCoreLite/scripts/build"
OUTPUT_DIR="/storage/emulated/0/Documents/GenCoreLite/scripts/output"
MANIFEST_FILE="AndroidManifest.xml"
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);
// Тут можна додати ваш код
}
}
"
echo "=== Parameters set ==="
MANIFEST_CONTENT="
<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"
package=\"$PACKAGE_NAME\">
<application
android:allowBackup=\"true\"
android:icon=\"@mipmap/ic_launcher\"
android:label=\"$APP_NAME\"
android:roundIcon=\"@mipmap/ic_launcher_round\"
android:supportsRtl=\"true\"
android:theme=\"@style/Theme.MyApp\">
<activity android:name=\".$MAIN_ACTIVITY\">
<intent-filter>
<action android:name=\"android.intent.action.MAIN\" />
<category android:name=\"android.intent.category.LAUNCHER\" />
</intent-filter>
</activity>
</application>
</manifest>
"
# Створення необхідних директорій
mkdir -p $SOURCE_DIR/$PACKAGE_NAME
chmod 777 $SOURCE_DIR/$PACKAGE_NAME
mkdir -p $BUILD_DIR
chmod 777 $BUILD_DIR
mkdir -p $OUTPUT_DIR
chmod 777 $OUTPUT_DIR
mkdir -p res/mipmap
chmod 777 res/mipmap
echo "=== Directories created ==="
# Створення основного Java файлу
echo "$MAIN_ACTIVITY_CODE" > $SOURCE_DIR/$PACKAGE_NAME/$MAIN_ACTIVITY.java
# Створення AndroidManifest.xml
echo "$MANIFEST_CONTENT" > $MANIFEST_FILE
# Створення placeholder іконок
touch res/mipmap/ic_launcher.png
touch res/mipmap/ic_launcher_round.png
echo "=== Files created ==="
# Перевірка наявності файлів
echo "=== Checking files ==="
ls -R $SOURCE_DIR
ls -R res
cat $MANIFEST_FILE
echo "=== Компліяція Java файлів ==="
ecj -d $BUILD_DIR $SOURCE_DIR/$PACKAGE_NAME/$MAIN_ACTIVITY.java
if [ $? -ne 0 ]; then
echo "Помилка компіляції Java файлів"
exit 1
fi
pkg update -y
pkg upgrade -y
echo "=== Перетворення класів в DEX файл ==="
# Перетворення класів в DEX файл
dx --dex --output=$BUILD_DIR/classes.dex $BUILD_DIR
if [ $? -ne 0 ]; then
echo "Помилка перетворення класів в DEX файл"
exit 1
fi
pkg update -y
pkg upgrade -y
echo "=== Створення APK файлу ==="
aapt2 compile -o $BUILD_DIR/res.zip res/
aapt2 link -o $OUTPUT_DIR/$APP_NAME.apk -I $PREFIX/share/aapt/android.jar --manifest $MANIFEST_FILE --java $BUILD_DIR $BUILD_DIR/res.zip
if [ $? -ne 0 ]; then
echo "Помилка створення APK файлу"
exit 1
fi
pkg update -y
pkg upgrade -y
echo "=== Додавання Dex файлу в APK ==="
aapt2 add $OUTPUT_DIR/$APP_NAME.apk $BUILD_DIR/classes.dex
if [ $? -ne 0 ]; then
echo "Помилка додавання DEX файлу в APK"
exit 1
fi
pkg update -y
pkg upgrade -y
# Очищення
rm -rf $BUILD_DIR
echo "APK створено: $OUTPUT_DIR/$APP_NAME.apk"
Steps to reproduce the behavior.
I reinstalled termux;
I added:
pkg update -y
pkg upgrade -y
Nothing happened
What is the expected behavior?
No response
System information
- Termux application version: 0.118
- Android OS version: 14
- Device model: aarch64
Problem description
Have an error:
I have script:
Steps to reproduce the behavior.
I reinstalled termux;
I added:
Nothing happened
What is the expected behavior?
No response
System information