File size: 1,534 Bytes
89a7cc8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
from flask import Flask, request, send_file
import os
import subprocess

app = Flask(__name__)

@app.route("/")
def home():
    return '''
    <h2>Web to APK Builder</h2>
    <form method="POST" action="/build">
        <input name="url" placeholder="https://your-site.com" style="width:300px;">
        <button type="submit">Build APK</button>
    </form>
    '''

@app.route("/build", methods=["POST"])
def build():
    url = request.form.get("url")

    project_name = "myapp"

    # حذف مشروع قديم
    if os.path.exists(project_name):
        subprocess.run(["rm", "-rf", project_name])

    # إنشاء مشروع Capacitor
    subprocess.run(["npx", "create-react-app", project_name])
    os.chdir(project_name)

    # تثبيت Capacitor
    subprocess.run(["npm", "install", "@capacitor/core", "@capacitor/cli"])
    subprocess.run(["npx", "cap", "init", "MyApp", "com.example.myapp"])

    # تعديل WebView لفتح URL
    with open("src/App.js", "w") as f:
        f.write(f"""
import React from "react";
function App() {{
  window.location.href = "{url}";
  return <h1>Loading...</h1>;
}}
export default App;
""")

    subprocess.run(["npm", "run", "build"])

    subprocess.run(["npx", "cap", "add", "android"])
    subprocess.run(["npx", "cap", "copy"])

    # بناء APK
    os.chdir("android")
    subprocess.run(["./gradlew", "assembleDebug"])

    apk_path = "app/build/outputs/apk/debug/app-debug.apk"

    return send_file(apk_path, as_attachment=True)

if __name__ == "__main__":
    app.run()