sterepando commited on
Commit
032da65
·
verified ·
1 Parent(s): 3459983

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +36 -26
Dockerfile CHANGED
@@ -1,17 +1,22 @@
1
  # Используем JDK 11
2
  FROM openjdk:11-jdk-slim
3
 
4
- # Устанавливаем curl (base64 уже есть в системе)
5
- RUN apt-get update && apt-get install -y curl
6
 
7
  WORKDIR /app
8
 
9
- # 1. Скачиваем зависимости (android.jar, aliuhook и d8)
10
- RUN curl -L "https://raw.githubusercontent.com/anggrayudi/android-hidden-api/master/android-31/android.jar" -o android.jar
11
- RUN curl -L "https://maven.aliucord.com/snapshots/com/aliucord/Aliuhook/1.1.3/Aliuhook-1.1.3.jar" -o aliuhook.jar
12
- RUN curl -L "https://repo1.maven.org/maven2/com/android/tools/r8/3.3.28/r8-3.3.28.jar" -o d8.jar
13
 
14
- # 2. Пишем код плагина прямо в Dockerfile
 
 
 
 
 
 
15
  RUN printf 'package b.liquidglass;\n\
16
  \n\
17
  import android.content.Context;\n\
@@ -38,31 +43,31 @@ public class Main {\n\
38
  Field f = fragment.getClass().getDeclaredField("floatingButton");\n\
39
  f.setAccessible(true);\n\
40
  View fab = (View) f.get(fragment);\n\
41
- if (fab != null) applyAppleGlass(fab);\n\
42
  } catch (Exception ignored) {}\n\
43
- }, 300);\n\
44
  }\n\
45
  });\n\
46
  } catch (Exception e) {\n\
47
- XposedBridge.log("LiquidGlass Plugin Error: " + e.getMessage());\n\
48
  }\n\
49
  }\n\
50
  \n\
51
- private void applyAppleGlass(View v) {\n\
52
  v.setBackground(new GlassDrawable());\n\
53
- // Настоящий блюр для Android 12+ (API 31)\n\
54
  if (android.os.Build.VERSION.SDK_INT >= 31) {\n\
55
  try {\n\
56
- v.setRenderEffect(RenderEffect.createBlurEffect(22f, 22f, Shader.TileMode.CLAMP));\n\
57
  } catch (Exception ignored) {}\n\
58
  }\n\
59
- // Живая анимация Liquid\n\
60
  v.setOnTouchListener((view, ev) -> {\n\
61
  if (ev.getAction() == MotionEvent.ACTION_DOWN) {\n\
62
- view.animate().scaleX(0.86f).scaleY(0.86f).alpha(0.7f).setDuration(150).start();\n\
63
  } else if (ev.getAction() == MotionEvent.ACTION_UP || ev.getAction() == MotionEvent.ACTION_CANCEL) {\n\
64
- view.animate().scaleX(1f).scaleY(1f).alpha(1f).setDuration(450)\n\
65
- .setInterpolator(new OvershootInterpolator(2.5f)).start();\n\
66
  }\n\
67
  return false;\n\
68
  });\n\
@@ -72,10 +77,10 @@ public class Main {\n\
72
  private final Paint p = new Paint(Paint.ANTI_ALIAS_FLAG);\n\
73
  private final Paint s = new Paint(Paint.ANTI_ALIAS_FLAG);\n\
74
  public GlassDrawable() {\n\
75
- p.setColor(Color.argb(150, 255, 255, 255));\n\
76
  s.setStyle(Paint.Style.STROKE);\n\
77
- s.setStrokeWidth(2.5f);\n\
78
- s.setColor(Color.argb(110, 255, 255, 255));\n\
79
  }\n\
80
  @Override\n\
81
  public void draw(Canvas c) {\n\
@@ -90,10 +95,10 @@ public class Main {\n\
90
  }\n\
91
  }' > Main.java
92
 
93
- # 3. Компилируем в Java Class
94
  RUN javac -cp android.jar:aliuhook.jar -d . Main.java
95
 
96
- # 4. Собираем в DEX файл
97
  RUN java -cp d8.jar com.android.tools.r8.D8 \
98
  --release \
99
  --lib android.jar \
@@ -101,7 +106,12 @@ RUN java -cp d8.jar com.android.tools.r8.D8 \
101
  --output . \
102
  b/liquidglass/Main*.class
103
 
104
- # 5. При запуске выдаем результат в логи
105
- CMD echo "--- КРЫСА, КОПИРУЙ ОТСЮДА (Base64) ---" && \
106
- base64 classes.dex && \
107
- echo "--- КОНЕЦ ---"
 
 
 
 
 
 
1
  # Используем JDK 11
2
  FROM openjdk:11-jdk-slim
3
 
4
+ # Устанавливаем curl для загрузки и python3 для сервера
5
+ RUN apt-get update && apt-get install -y curl python3
6
 
7
  WORKDIR /app
8
 
9
+ # 1. Скачиваем зависимости (используем стабильные репозитории)
10
+ # android.jar (Symbols для компиляции)
11
+ RUN curl -L -f "https://github.com/Sable/android-platforms/raw/refs/heads/master/android-29/android.jar" -o android.jar
 
12
 
13
+ # Aliuhook (Xposed API)
14
+ RUN curl -L -f "https://maven.aliucord.com/snapshots/com/aliucord/Aliuhook/1.1.3/Aliuhook-1.1.3-sources.jar" -o aliuhook.jar
15
+
16
+ # d8 (DEX compiler)
17
+ RUN curl -L -f "https://maven.google.com/com/android/tools/r8/3.3.28/r8-3.3.28.jar" -o d8.jar
18
+
19
+ # 2. Создаем исходный код Apple Liquid Glass FAB
20
  RUN printf 'package b.liquidglass;\n\
21
  \n\
22
  import android.content.Context;\n\
 
43
  Field f = fragment.getClass().getDeclaredField("floatingButton");\n\
44
  f.setAccessible(true);\n\
45
  View fab = (View) f.get(fragment);\n\
46
+ if (fab != null) applyEffect(fab);\n\
47
  } catch (Exception ignored) {}\n\
48
+ }, 400);\n\
49
  }\n\
50
  });\n\
51
  } catch (Exception e) {\n\
52
+ XposedBridge.log("LiquidGlass Error: " + e.getMessage());\n\
53
  }\n\
54
  }\n\
55
  \n\
56
+ private void applyEffect(View v) {\n\
57
  v.setBackground(new GlassDrawable());\n\
58
+ // Эффект блюра для Android 12+\n\
59
  if (android.os.Build.VERSION.SDK_INT >= 31) {\n\
60
  try {\n\
61
+ v.setRenderEffect(RenderEffect.createBlurEffect(20f, 20f, Shader.TileMode.CLAMP));\n\
62
  } catch (Exception ignored) {}\n\
63
  }\n\
64
+ // Liquid анимация\n\
65
  v.setOnTouchListener((view, ev) -> {\n\
66
  if (ev.getAction() == MotionEvent.ACTION_DOWN) {\n\
67
+ view.animate().scaleX(0.88f).scaleY(0.88f).alpha(0.8f).setDuration(150).start();\n\
68
  } else if (ev.getAction() == MotionEvent.ACTION_UP || ev.getAction() == MotionEvent.ACTION_CANCEL) {\n\
69
+ view.animate().scaleX(1f).scaleY(1f).alpha(1f).setDuration(500)\n\
70
+ .setInterpolator(new OvershootInterpolator(3.0f)).start();\n\
71
  }\n\
72
  return false;\n\
73
  });\n\
 
77
  private final Paint p = new Paint(Paint.ANTI_ALIAS_FLAG);\n\
78
  private final Paint s = new Paint(Paint.ANTI_ALIAS_FLAG);\n\
79
  public GlassDrawable() {\n\
80
+ p.setColor(Color.argb(160, 255, 255, 255)); // Стекло\n\
81
  s.setStyle(Paint.Style.STROKE);\n\
82
+ s.setStrokeWidth(3f);\n\
83
+ s.setColor(Color.argb(120, 255, 255, 255)); // Блик\n\
84
  }\n\
85
  @Override\n\
86
  public void draw(Canvas c) {\n\
 
95
  }\n\
96
  }' > Main.java
97
 
98
+ # 3. Компиляция (теперь файлы точно JAR)
99
  RUN javac -cp android.jar:aliuhook.jar -d . Main.java
100
 
101
+ # 4. Конвертация в DEX
102
  RUN java -cp d8.jar com.android.tools.r8.D8 \
103
  --release \
104
  --lib android.jar \
 
106
  --output . \
107
  b/liquidglass/Main*.class
108
 
109
+ # 5. Подготовка финального файла
110
+ RUN mv classes.dex LiquidGlass.dex
111
+
112
+ # 6. Открываем порт для Hugging Face (7860 по умолчанию)
113
+ EXPOSE 7860
114
+
115
+ # 7. Запускаем сервер. Файл будет доступен по прямой ссылке.
116
+ CMD echo "Download link: https://sterepando-luajava-jar-to-dex.hf.space/LiquidGlass.dex" && \
117
+ python3 -m http.server 7860