Spaces:
Runtime error
Runtime error
Update build_apk.sh
Browse files- build_apk.sh +30 -9
build_apk.sh
CHANGED
|
@@ -5,27 +5,43 @@ WORK_DIR=$1
|
|
| 5 |
APP_NAME=$2
|
| 6 |
PKG=$3
|
| 7 |
KEYSTORE=$4
|
|
|
|
|
|
|
| 8 |
|
| 9 |
SDK=$ANDROID_SDK_ROOT
|
| 10 |
BUILD_TOOLS=$SDK/build-tools/33.0.0
|
| 11 |
PLATFORM=$SDK/platforms/android-33/android.jar
|
| 12 |
|
| 13 |
PKG_DIR=$(echo $PKG | tr '.' '/')
|
| 14 |
-
mkdir -p $WORK_DIR/{res/layout,res/values,assets,gen,obj,bin}
|
| 15 |
mkdir -p $WORK_DIR/src/$PKG_DIR
|
| 16 |
|
| 17 |
cp $WORK_DIR/index.html $WORK_DIR/assets/index.html
|
| 18 |
|
| 19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
<?xml version="1.0" encoding="utf-8"?>
|
| 21 |
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
| 22 |
package="${PKG}"
|
| 23 |
android:versionCode="1"
|
| 24 |
android:versionName="1.0">
|
| 25 |
-
<uses-sdk android:minSdkVersion="
|
| 26 |
<uses-permission android:name="android.permission.INTERNET"/>
|
| 27 |
-
<application
|
| 28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
<intent-filter>
|
| 30 |
<action android:name="android.intent.action.MAIN"/>
|
| 31 |
<category android:name="android.intent.category.LAUNCHER"/>
|
|
@@ -34,6 +50,7 @@ cat > $WORK_DIR/AndroidManifest.xml << MANIFEST
|
|
| 34 |
</application>
|
| 35 |
</manifest>
|
| 36 |
MANIFEST
|
|
|
|
| 37 |
|
| 38 |
cat > $WORK_DIR/res/values/strings.xml << RES
|
| 39 |
<?xml version="1.0" encoding="utf-8"?>
|
|
@@ -64,6 +81,9 @@ public class MainActivity extends Activity {
|
|
| 64 |
WebSettings ws = wv.getSettings();
|
| 65 |
ws.setJavaScriptEnabled(true);
|
| 66 |
ws.setDomStorageEnabled(true);
|
|
|
|
|
|
|
|
|
|
| 67 |
setContentView(wv);
|
| 68 |
wv.loadUrl("file:///android_asset/index.html");
|
| 69 |
}
|
|
@@ -71,10 +91,11 @@ public class MainActivity extends Activity {
|
|
| 71 |
JAVA
|
| 72 |
|
| 73 |
echo "=== 1/5 aapt2 compile ==="
|
| 74 |
-
$
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
|
|
|
| 78 |
|
| 79 |
echo "=== 2/5 aapt2 link ==="
|
| 80 |
$BUILD_TOOLS/aapt2 link \
|
|
|
|
| 5 |
APP_NAME=$2
|
| 6 |
PKG=$3
|
| 7 |
KEYSTORE=$4
|
| 8 |
+
MIN_SDK=${5:-21}
|
| 9 |
+
LOGO_B64=$6
|
| 10 |
|
| 11 |
SDK=$ANDROID_SDK_ROOT
|
| 12 |
BUILD_TOOLS=$SDK/build-tools/33.0.0
|
| 13 |
PLATFORM=$SDK/platforms/android-33/android.jar
|
| 14 |
|
| 15 |
PKG_DIR=$(echo $PKG | tr '.' '/')
|
| 16 |
+
mkdir -p $WORK_DIR/{res/layout,res/values,res/mipmap-hdpi,assets,gen,obj,bin}
|
| 17 |
mkdir -p $WORK_DIR/src/$PKG_DIR
|
| 18 |
|
| 19 |
cp $WORK_DIR/index.html $WORK_DIR/assets/index.html
|
| 20 |
|
| 21 |
+
# Logo varsa kaydet
|
| 22 |
+
if [ -n "$LOGO_B64" ]; then
|
| 23 |
+
echo "$LOGO_B64" | base64 -d > $WORK_DIR/res/mipmap-hdpi/ic_launcher.png 2>/dev/null || true
|
| 24 |
+
fi
|
| 25 |
+
|
| 26 |
+
# Özel manifest varsa kullan, yoksa otomatik oluştur
|
| 27 |
+
if [ -f "$WORK_DIR/custom_manifest.xml" ]; then
|
| 28 |
+
cp $WORK_DIR/custom_manifest.xml $WORK_DIR/AndroidManifest.xml
|
| 29 |
+
else
|
| 30 |
<?xml version="1.0" encoding="utf-8"?>
|
| 31 |
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
| 32 |
package="${PKG}"
|
| 33 |
android:versionCode="1"
|
| 34 |
android:versionName="1.0">
|
| 35 |
+
<uses-sdk android:minSdkVersion="${MIN_SDK}" android:targetSdkVersion="33"/>
|
| 36 |
<uses-permission android:name="android.permission.INTERNET"/>
|
| 37 |
+
<application
|
| 38 |
+
android:label="${APP_NAME}"
|
| 39 |
+
android:allowBackup="true"
|
| 40 |
+
android:icon="@mipmap/ic_launcher">
|
| 41 |
+
<activity
|
| 42 |
+
android:name=".MainActivity"
|
| 43 |
+
android:exported="true"
|
| 44 |
+
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
|
| 45 |
<intent-filter>
|
| 46 |
<action android:name="android.intent.action.MAIN"/>
|
| 47 |
<category android:name="android.intent.category.LAUNCHER"/>
|
|
|
|
| 50 |
</application>
|
| 51 |
</manifest>
|
| 52 |
MANIFEST
|
| 53 |
+
fi
|
| 54 |
|
| 55 |
cat > $WORK_DIR/res/values/strings.xml << RES
|
| 56 |
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
| 81 |
WebSettings ws = wv.getSettings();
|
| 82 |
ws.setJavaScriptEnabled(true);
|
| 83 |
ws.setDomStorageEnabled(true);
|
| 84 |
+
ws.setSupportZoom(false);
|
| 85 |
+
ws.setBuiltInZoomControls(false);
|
| 86 |
+
ws.setDisplayZoomControls(false);
|
| 87 |
setContentView(wv);
|
| 88 |
wv.loadUrl("file:///android_asset/index.html");
|
| 89 |
}
|
|
|
|
| 91 |
JAVA
|
| 92 |
|
| 93 |
echo "=== 1/5 aapt2 compile ==="
|
| 94 |
+
COMPILE_ARGS="$WORK_DIR/res/values/strings.xml $WORK_DIR/res/layout/activity_main.xml"
|
| 95 |
+
if [ -f "$WORK_DIR/res/mipmap-hdpi/ic_launcher.png" ]; then
|
| 96 |
+
COMPILE_ARGS="$COMPILE_ARGS $WORK_DIR/res/mipmap-hdpi/ic_launcher.png"
|
| 97 |
+
fi
|
| 98 |
+
$BUILD_TOOLS/aapt2 compile $COMPILE_ARGS -o $WORK_DIR/res_compiled.zip
|
| 99 |
|
| 100 |
echo "=== 2/5 aapt2 link ==="
|
| 101 |
$BUILD_TOOLS/aapt2 link \
|