Apk / app.py
Skydata001's picture
Create app.py
89a7cc8 verified
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()