Giter Club home page Giter Club logo

upgradeall's Introduction

English | 简体中文

UpgradeAll

GitHub release (latest by date) GitHub Release Date GitHub All Releases Android Version License

Check updates for Android apps, Magisk modules and more!

Android CI Weblate


UpgradeAll is a free and open source software which simplifies the process of finding updates for Android apps (even if you didn't install them), Magisk modules and more. The main focus is on speed and ease of use, which is widely appreciated by users.

📚 Table of Contents

🙌 Let's get started

Get it on Github Get it on F-Droid Get it on Coolapk

  1. If you want to install UpgradeAll, first select a channel from above, find the latest version, download and install it.

  2. Then open it, find app sources u need on App Hub page and switch them on.

  3. After selecting the sources you want to use, return to Home page, go to Discover page and wait a moment, then find / search for the apps / modules you need.

  4. Now, return to Home page and go to Apps page, you can see all the updates of your installed / added apps / modules.

  • The App market mode will automatically check upon open for updates of your installed apps

  • You can also visit here for a more detailed graphic tutorial.

🎈 Features

  • Get updates from multiple sources.
  • Download files with external downloader.
  • Highly customizable rules.
  • Modern and clean design.
  • Support Android 5.0 to 12L (Android 12L not tested).

❓ FAQ

During use of the application, you may encounter some problems, and this document may help you to solve them: FAQ.

💬 Communication Groups

You can join our communication groups by clicking cards below:
Join us on QQ Join us on Telegram Join us on Matrix

📃 Developer Documentation

All developer documentation for UpgradeAll, including the cloud directory structure, tracking entries, creating software source configurations, etc., is located Here. If you find any documentation missing or incorrect, please raise an Issue.

😊 Acknowledgements

Many thanks to the developers of these libraries:

♾️ App sources

Currently, the following sources are officially supported:

🌐 Language Support

  • Simplified Chinese
  • Traditional Chinese
  • English
  • Brazilian Portuguese
  • German

If you are familier with multiple languages, please help us introduce the App to the whole world!

ℹ️ How to translate UpgradeAll into your language?

You can help us translate this project on Weblate.

📖 License

Use of this software code is subject to the following license agreement:
GNU General Public License v3.0

⚖️ Legal Notices

UpgradeAll(以下简称“本产品”)是一个集软件下载、更新于一体的工具。本软件提供的所有软件和资料均为软件作者提供及网友推荐发布,不得用于任何商业用途。本产品中提供的软件之著作权归软件作者所有。用户可以自由选择是否使用本产品提供的软件。如果用户下载、安装、使用本产品中所提供的软件,即表明用户信任该软件作者,本人对任何原因在使用本产品中提供的软件时可能对用户自己或他人造成的任何形式的损失和伤害不承担责任。任何单位或个人认为通过本产品提供的软件可能涉嫌侵犯其合法权益,应该及时向本人(邮箱:[email protected])书面反馈,并提供身份证明、权属证明及详细侵权情况证明,本人在收到上述法律文件后,将会尽快移除被控侵权软件。本产品中的部分免费软件来源于互联网,由于某些原因我们没能联系上免费软件作者,如果软件作者对使用本产品提供下载、更新有任何异议,都欢迎与我们联系沟通。本人将在规定时间内给予删除等相关处理。因本产品引起的或与本产品有关的任何争议,各方应友好协商解决;协商不成的,任何一方均可将有关争议提交至南京仲裁委员会并按照其届时有效的仲裁规则仲裁;仲裁裁决是终局的,对各方均有约束力。

🧩 Screenshot

ScreenShotScreenShotScreenShotScreenShotScreenShot

upgradeall's People

Contributors

coelacanthushex avatar dependabot[bot] avatar dontpayattention avatar dupdate-bot avatar howard20181 avatar johnsonran avatar momobobe avatar oevery avatar orstudio avatar renovate-bot avatar renovate[bot] avatar santossi avatar thejenja avatar tsukihiararagi avatar vladgba avatar vuvov777 avatar wangxiaoeryah avatar weblate avatar xz-dev avatar zhaobozhen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

upgradeall's Issues

[enhancement] 自动更新功能

描述新功能或计划
自动更新功能,根据预定的配置自动下载安装包并进行安装。

添加该功能的原因
用户反馈

实现方法或步骤

  1. 等待 1.0 版本 Core 重构完成
  2. 等待文件管理功能实现
  3. 设计设置 UI(逻辑实现在 Core 库)

该变动涉及的模块
UpgradeAll
UpgradeAllCore

该功能是否需要其他平台项目变动

优先级

开发状态
Todo

相关的 issues
#13 #14 #10 #9

[enhancement] 保留崩溃日志

描述新功能或计划
保留上次软件崩溃的日志

添加该功能的原因
给用户明确的日志反馈

实现方法或步骤
参考 SmartPack-Kernel-Manager 崩溃日志

该变动涉及的模块
app

该功能是否需要其他平台项目变动

优先级

开发状态
Todo

相关的 issues
#235

[enhancement or bug report] nothing in About

Tapping About on Home page in the App, nothing is displayed besides a toast echoing "About". Is that a bug or just something not implemented? If yet to be implemented, maybe items like FAQ, Communication Groups, Developer Documentation, Acknowledgements/Credits, Licenses, Privacy Policy (if made), Contacts, Feedback, etc. could be added there.

[Todo] 云端配置页面中显示各项的详情信息

描述新功能或计划
在云端配置页面点击软件源或者跟踪项可现实详情信息(DiaLog)
跟踪项的详情页面信息:
a. 软件名称
b. 依赖的软件源
c. 软件简介
d. 贡献配置的用户

添加该功能的原因

  1. 便于用户理解云端配置
  2. 为给软件贡献的用户提供宣传

实现方法或步骤

  1. 云端配置添加相关信息
  2. 实现相关自动化脚本
  3. 客户端 UI 添加

该变动涉及的模块
rules 仓库CloudAppItemAdapterCloudHubItemAdapter

该功能是否需要其他平台项目变动

优先级

开发状态
Todo

相关的 issues

[enhancement] privacy policy

I couldn't find privacy policy for this app, so pardon me, is there such stuff? If not, I really hope you can compose one, since I'm slightly concerned about privacy issues when using the App.

I'm not a developer and unfortunately unable to investigate by myself, then may I know what data would this App collect and upload to remote servers? Would it upload the list of Apps installed on my device? I know for F-Droid it doesn't as it always downloads a whole database from the remote server and parse locally, is it the same as yours?

Thanks in advance for your clarification.

Doesn't work

Why doesn't this app scan the installed apps then parse that into a list that gets correlated with the appropriate market link for update checking? I'm sure if you threw that into copilot it could accomplish this for you, with minimal effort.

French in Crowdin

Could you add French on crowdin ? I want to participate in the project and be able to use it in my native language

[enhancement] <功能要求>

描述新功能或计划

添加该功能的原因

实现方法或步骤

该变动涉及的模块

该功能是否需要其他平台项目变动

优先级

开发状态

相关的 issues

[enhancement] built-in http and socks proxy support

It would be fantastic to add support for built-in http and socks proxy, like many F-Droid clients (e.g. Neo Store). System VPN is one thing, but sometimes a more flexible and specific proxy is required (like tor). So please consider to add this feature.

P.S. It's different from Github proxy or so. This should be a proxy for all connections that the App makes.

[Todo] 软件源设置支持用户输入自定义信息

描述新功能或计划
在软件源设置中添加输入软件源配置中指定的信息,并在更新时与软件包数据一同上传到服务端以供服务端获取信息使用。

添加该功能的原因
因 F-Droid 加入自定义软件源功能,向用户提供输入位置,且为之后的 Google Play 与 Github 自定义 token 的功能做准备。

实现方法或步骤

  1. 修改软件源配置格式以为客户端提供相关信息
  2. 服务端相关测试功能适配
  3. 客户端功能适配

该变动涉及的模块
UI、app(Core)applications(Core)

该功能是否需要其他平台项目变动

优先级

开发状态
Doing

相关的 issues

keeps crashing

the app keeps crashing in its latest Alpha version ie. alpha 5
here's the log -
FATAL EXCEPTION: main
Process: net.xzos.upgradeall, PID: 25406
java.lang.RuntimeException: Unable to create application net.xzos.upgradeall.application.MyApplication: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7511)
at android.app.ActivityThread.access$1600(ActivityThread.java:310)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2281)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8663)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
at d9.d$a.a(SourceFile:1)
at b9.d.a(SourceFile:7)
at b9.b.(SourceFile:3)
at z8.a.f(SourceFile:24)
at z8.d.r(Unknown Source:12)
at c7.a.j(Unknown Source:8)
at s7.g0.run(SourceFile:4)
at s7.n0.t0(SourceFile:4)
at g7.a.o(SourceFile:13)
at g7.a.p(Unknown Source:2)
at y9.b.f(SourceFile:37)
at net.xzos.upgradeall.application.MyApplication.onCreate(SourceFile:22)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1211)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7506)
... 9 more

云端仓库无法使用(已按WIKI操作,仍无法使用)

华为荣耀8C安卓8.1.0.
UpgradeAll已给全部权限+添加信任。
手机没安FQ工具,但是可以流畅裸连GITHUB。联通WIFI和4G都是。
经过检查您WIKI里“添加软件源”https://github.com/DUpdateSystem/UpgradeAll/wiki/%E6%B7%BB%E5%8A%A0%E8%BD%AF%E4%BB%B6%E6%BA%90 的步骤,
验证仓库地址无误,仍然无法使用软件源。
日志为CloudConfigGetterE/ OkHttpApi: get HttpResponse:网络错误。

Readme looking for

As the title descriped.
I think it's useful to know how to use the app.

[Android Client Todo] 添加更新通道选项

描述新功能或计划
添加;类似于 magisk 的更新通道选项

添加该功能的原因
默认 master 通道和 dev 切换麻烦

实现方法

描述这个变动涉及的模块
ui

该功能是否需要服务端变动

相关的 issues

优先级

开发状态
Todo

[enhancement] Refresh speed is too slow

The speed of check application update is a bit slow, I would like to ask if there is room for optimization for this? Another question: Is it single-threaded to check for application updates?

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

  • fix(deps): update all (com.google.firebase:firebase-crashlytics, com.google.firebase:firebase-analytics, androidx.lifecycle:lifecycle-viewmodel-ktx, androidx.lifecycle:lifecycle-runtime-ktx, androidx.fragment:fragment-ktx, androidx.viewpager2:viewpager2, composeOptions, com.google.devtools.ksp, com.fasterxml.jackson.core:jackson-databind)
  • fix(deps): update kotlin monorepo to v1.9.24 (org.jetbrains.kotlin:kotlin-stdlib, org.jetbrains.kotlin.android, org.jetbrains.kotlin.jvm, org.jetbrains.kotlin:kotlin-gradle-plugin)
  • fix(deps): update dependency com.android.tools.build:gradle to v8.4.0
  • fix(deps): update all (major) (com.google.firebase:firebase-crashlytics, com.google.firebase:firebase-analytics, com.google.firebase:firebase-perf, com.google.firebase:firebase-crashlytics-gradle)
  • Click on this checkbox to rebase all open PRs at once

Detected dependencies

cargo
core-getter/src/main/rust/api_proxy/Cargo.toml
  • jni 0.21.1
  • serde 1.0
  • serde_json 1.0.115
  • tokio 1.37.0
github-actions
.github/workflows/android.yml
  • actions/checkout v4
  • actions/setup-java v4
  • android-actions/setup-android v3
  • r0adkll/sign-android-release v1.0.4
  • actions/upload-artifact v4
  • actions/upload-artifact v4
  • hkusu/apk-info-action v1
  • xz-dev/TelegramFileUploader v1.1.1
.github/workflows/issue-closed-labeler.yml
  • actions-ecosystem/action-add-labels v1
.github/workflows/issue-labeler.yml
  • github/issue-labeler v3.4
.github/workflows/labeled-issue-to-project.yml
  • alex-page/github-project-automation-plus v0.9.0
  • alex-page/github-project-automation-plus v0.9.0
  • alex-page/github-project-automation-plus v0.9.0
gradle
gradle.properties
settings.gradle
build.gradle
  • com.android.tools.build:gradle 8.3.2
  • org.jetbrains.kotlin:kotlin-gradle-plugin 1.9.23
  • com.google.gms:google-services 4.4.1
  • com.google.firebase:firebase-crashlytics-gradle 2.9.9
  • com.google.firebase:perf-plugin 1.4.2
  • org.jetbrains.kotlin.jvm 1.9.23
  • org.jetbrains.kotlin.android 1.9.23
  • com.google.devtools.ksp 1.9.23-1.0.20
  • androidx.core:core-ktx 1.13.1
  • org.jetbrains.kotlin:kotlin-stdlib 1.9.23
  • androidx.work:work-runtime-ktx 2.9.0
  • org.jetbrains.kotlinx:kotlinx-coroutines-android 1.8.1
app/build.gradle
  • composeOptions 1.5.13
  • androidx.appcompat:appcompat 1.6.1
  • androidx.constraintlayout:constraintlayout 2.1.4
  • androidx.legacy:legacy-support-v4 1.0.0
  • androidx.preference:preference-ktx 1.2.1
  • androidx.lifecycle:lifecycle-extensions 2.2.0
  • androidx.lifecycle:lifecycle-viewmodel-ktx 2.7.0
  • androidx.recyclerview:recyclerview 1.3.2
  • androidx.drawerlayout:drawerlayout 1.2.0
  • androidx.viewpager2:viewpager2 1.1.0-rc01
  • androidx.activity:activity-ktx 1.9.0
  • androidx.fragment:fragment-ktx 1.7.0
  • androidx.navigation:navigation-fragment-ktx 2.7.7
  • androidx.navigation:navigation-ui-ktx 2.7.7
  • org.jetbrains.kotlinx:kotlinx-coroutines-android 1.8.1
  • androidx.lifecycle:lifecycle-runtime-ktx 2.7.0
  • androidx.lifecycle:lifecycle-viewmodel-ktx 2.7.0
  • androidx.activity:activity-compose 1.9.0
  • androidx.compose.ui:ui-viewbinding 1.6.7
  • androidx.compose:compose-bom 2024.05.00
  • androidx.compose.ui:ui 1.6.7
  • androidx.compose.ui:ui-graphics 1.6.7
  • androidx.compose.ui:ui-tooling-preview 1.6.7
  • androidx.compose.material3:material3 1.2.1
  • androidx.compose:compose-bom 2024.05.00
  • androidx.compose.ui:ui-test-junit4 1.6.7
  • com.jakewharton.threetenabp:threetenabp 1.4.7
  • androidx.compose.ui:ui-tooling 1.6.7
  • androidx.compose.ui:ui-test-manifest 1.6.7
  • com.akexorcist:localization 1.2.11
  • com.jonathanfinerty.once:once 1.3.1
  • com.github.bumptech.glide:glide 4.16.0
  • com.github.bumptech.glide:ksp 4.16.0
  • com.google.android.material:material 1.12.0
  • androidx.cardview:cardview 1.0.0
  • com.github.kobakei:MaterialFabSpeedDial 2.0.0
  • com.github.devsideal:VectorChildFinder 1.0.0
  • dev.rikka.rikkax.insets:insets 1.3.0
  • dev.rikka.rikkax.layoutinflater:layoutinflater 1.3.0
  • com.github.CymChad:BaseRecyclerViewAdapterHelper 3.0.11
  • com.github.6tail:lunar-java 1.6.3
  • junit:junit 4.13.2
  • androidx.test:runner 1.5.2
  • androidx.test.espresso:espresso-core 3.5.1
  • com.google.firebase:firebase-perf 20.5.2
  • com.google.firebase:firebase-analytics 21.6.1
  • com.google.firebase:firebase-crashlytics 18.6.3
  • com.google.protobuf:protobuf-java 4.26.1
app-backup/build.gradle
  • junit:junit 4.13.2
  • androidx.test.ext:junit 1.1.5
  • androidx.test.espresso:espresso-core 3.5.1
  • com.google.code.gson:gson 2.10.1
  • com.github.thegrizzlylabs:sardine-android 0.9
core/build.gradle
  • junit:junit 4.13.2
  • androidx.test.ext:junit 1.1.5
  • androidx.test.espresso:espresso-core 3.5.1
  • androidx.room:room-runtime 2.6.1
  • org.xerial:sqlite-jdbc 3.45.3.0
  • androidx.room:room-compiler 2.6.1
  • androidx.room:room-ktx 2.6.1
  • androidx.room:room-testing 2.6.1
  • com.google.code.gson:gson 2.10.1
  • com.squareup.okhttp3:okhttp 5.0.0-alpha.14
core-android-utils/build.gradle
  • junit:junit 4.13.2
  • androidx.test.ext:junit 1.1.5
  • androidx.test.espresso:espresso-core 3.5.1
  • androidx.documentfile:documentfile 1.0.1
  • me.drakeet.support:toastcompat 1.1.0
core-downloader/build.gradle
  • androidx.appcompat:appcompat 1.6.1
  • com.google.android.material:material 1.12.0
  • junit:junit 4.13.2
  • androidx.test.ext:junit 1.1.5
  • androidx.test.espresso:espresso-core 3.5.1
  • io.ktor:ktor-client-core 2.3.11
  • io.ktor:ktor-client-cio 2.3.11
core-getter/build.gradle
  • org.mozilla.rust-android-gradle.rust-android 0.9.4
  • androidx.appcompat:appcompat 1.6.1
  • junit:junit 4.13.2
  • androidx.test.ext:junit 1.1.5
  • androidx.test.espresso:espresso-core 3.5.1
  • com.github.briandilley.jsonrpc4j:jsonrpc4j 1.6
core-installer/build.gradle
  • junit:junit 4.13.2
  • androidx.test.ext:junit 1.1.5
  • androidx.test.espresso:espresso-core 3.5.1
  • androidx.documentfile:documentfile 1.0.1
  • dev.rikka.shizuku:api 13.1.5
  • dev.rikka.shizuku:provider 13.1.5
  • org.lsposed.hiddenapibypass:hiddenapibypass 4.3
core-shell/build.gradle
  • junit:junit 4.13.2
  • androidx.test.ext:junit 1.1.5
  • androidx.test.espresso:espresso-core 3.5.1
core-utils/build.gradle
  • junit:junit 4.13.2
  • androidx.test.ext:junit 1.1.5
  • androidx.test.espresso:espresso-core 3.5.1
  • org.apache.maven:maven-artifact 3.9.6
  • org.apache.commons:commons-text 1.12.0
core-websdk/build.gradle
  • junit:junit 4.13.2
  • androidx.test.ext:junit 1.1.5
  • androidx.test.espresso:espresso-core 3.5.1
  • com.google.code.gson:gson 2.10.1
  • com.squareup.okhttp3:okhttp 5.0.0-alpha.14
  • com.squareup.okhttp3:okhttp-urlconnection 5.0.0-alpha.14
  • org.jetbrains:markdown 0.7.2
  • com.aurora:gplayapi 3.2.11
  • org.mindrot:jbcrypt 0.4
core-websdk/data/build.gradle.kts
  • com.google.code.gson:gson 2.10.1
  • com.fasterxml.jackson.core:jackson-databind 2.13.4
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 8.7

  • Check this box to trigger a request for Renovate to run again on this repository

[Android Client Todo] 添加对不同安装文件的安装支持

描述新功能或计划
完成对 apk、magisk模块、ROM、OpenGApps 的安装支持

添加该功能的原因
用户需求

实现方法
可尝试使用 JS 实现

描述这个变动涉及的模块
(Core)[https://github.com/DUpdateSystem/Core]

该功能是否需要服务端变动

相关的 issues

优先级
中(等待其他开发任务完成)

[bug/core] OOM when a lot of updates was setting

Screenshot_20220805-104812

Everytime I check for upgrades my phone barely responds and the app eventually crashes.

I'm using the latest version as of August 5th, 2022.

Hard for me to get logs but I have attached a screenshot of the log.

My vision for the project's future

New here from F-Droid and glad to know this great project. I feel surprisingly odd that this App is so understated since I can tell your ambition would have many Android power users' dream come true. Although latest builds are still buggy, to be honest, I can see the project's potential and hope to make some useful contribution to its design in future (excuse me as I don't know much about coding and hence couldn't do coding stuff).

A typical use case for the project is, I have some Apps only available on GitHub or somewhere not a FOSS store (no Google Play or so as a serious geek always prefers FOSS solutions). To update them, in the past, I have to check manually one by one, or if smart enough, maintain a server and write some scripts to grab the updates. Either is quite troublesome for end users. F-Droid and Izzy's repo are good, but quite a lot of Apps are left out for various reasons. The ideal solution is to get everything done on my device solely with connection to the original download links for Apps, without any extra intermediate. And I wanna decide which Apps to download, no matter whether they're installed. This is the basic function I'd expect from the project, which is, however, unstable yet.

Furthermore, I'd like the project to be some kinda AIO solution for App distribution, which means anyone can publish their Apps here in a distributed manner, and anyone can discover indie Apps more easily. To make it, the App should be further decentralized with restricted reliance on remote servers, and with ability to easily customize, publish & share App lists. To ensure somewhat security and privacy, scanners for malware, ad, tracker, non-free dependency, excessive permission etc. should be a built-in feature, like #82 mentioned. If possible, a distributed scoring and commenting system must be cool. All in all, I'm expecting a fully-functioned App store, distributed and FOSS though.

For your information, the ideas are partially implemented in several separated projects, for example, Skydroid is kinda decentralized, but unfortunately not very active now; Aurora Store has εxodus scanner built in, and so as Izzy's repo [source] (with some of his own scanners in addition) (also many other Apps like AppManager, ClassyShark3xodus, Warden, etc. have that built in; besides, LibChecker provides a similar feature to scan libs); Manyverse and Secure Scuttlebutt protocol could be the base for the distributed implementation of scoring and commenting system (or even social network stuff if you wanna try).

So much for all these. I know this project is originally for Chinese users and lacking manpower now, however, for popularity and hence better development, I strongly suggest that it should get more exposure to international communities. Now very few people know your existence, although I have promoted a little bit (fmhy/FMHYedit#140, offa/android-foss#231, pcqpcq/open-source-android-apps#370, albertomosconi/foss-apps#66), which is yet far from sufficient, and your team could have a look at some Android communities like those on Reddit for interaction with international audience. Moreover, some similar (but not as ambitious) projects like ApkTrack, APKUpdater and APKGrabber are slowly dying after few years of inactivity, and sincerely I wish your project a long life; also it could be a good idea to add support for APKMirror and Aptoide so that some of their users might get attracted here.

Finally, the most important task for the present is to debug and optimize what you have done so far, otherwise new users would lose interest when suffering poor network connection or lag issues.

[enhancement] change default url for rule repo and update server

The default update server update-server.xzos.net is pretty inaccessible for international users in most time, and since the default setting for rule repo is "Follow Server Config", new users have a great chance to load nothing without knowledge of alternative links, which is very user-unfriendly and hence makes most new users lose interest in further use.

So please add the links Coding (For China Mainland), Jsdelivr CDN (Recommanded for areas which cant access Github well), GitHub listed in FAQ as built-in options for users to select (preferably a prompt should display upon first-time open as tutorials, and the tutorials could further cover the content there).

Also, please do something to make the default update server update-server.xzos.net more accessible for international users, though AFAIK Internet condition in China is quite frightening. Maybe you can introduce some CDN stuff to it just like the main site xzos.net. Or host a new server at up-a.org (even on GitHub if feasible).

[Android Client Todo] 添加对安装包架构的区分

描述新功能或计划
在下载页面显示安装包的架构、并支持自动选择

添加该功能的原因
一个软件的一个版本可能被编译成不同的架构

实现方法
使用 ReleaseInfo 预置的file_type 字段(可能需要修改结构、因为 OpenGApps 形式多变)

描述这个变动涉及的模块
UI、base_hub.py

该功能是否需要服务端变动

相关的 issues

优先级
中(等待其他开发任务完成)

[Android Client Todo] 优化运行效率

描述新功能或计划
简化框架结构,加快运行效率

添加该功能的原因
软件运行缓慢,经常卡死,闪退

实现方法
简化框架、减少数据类、集中缓存网络数据

描述这个变动涉及的模块
Core

该功能是否需要服务端变动

相关的 issues

优先级

开发状态
Doing

[enhancement] 从github直接搜索和下载应用

新功能

  1. 无需订阅源,直接利用github的搜索/收藏/访问页面,获得一组应用
  2. 解析github release页面自动获取release版本的apk文件
  3. 解析github action获取自动构建的测试版软件(这个方法存在一些问题,github action需要登录帐号才能下载,并且build不一定有结果,build结果很可能并非可以直接安装的格式)

添加该功能的原因

去除他人干预地获取应用,更自由,也更便利

实现方法或步骤

待定

[enhancement] 以安全模式启动

描述新功能或计划

  1. 崩溃界面以安全模式启动
  2. 通过修改配置文件启动安全模式
  3. 通过桌面微件启动

添加该功能的原因
便于用户修改配置的错误

实现方法或步骤

  1. core 实现安全模式启动
  2. app 模块的安全模式入口

该变动涉及的模块
app, core

该功能是否需要其他平台项目变动

优先级

开发状态
Todo

相关的 issues
#235

[enhancement] support multiple profiles of rules

Currently we get stuck to only one set of rule repo and update server at one time. Although it's not a problem right now since we don't have any other public options, it could become troublesome if someone want to host an unofficial repo and then their users have to choose between the official and unofficial repos. So please add such a feature like how F-Droid supports multiple unofficial repos, to the long-run roadmap.

[enhancement] 自定义下载链接

描述新功能或计划
允许替换软件下载链接

添加该功能的原因
解决github等软件源下载过慢的问题

实现方法或步骤

该变动涉及的模块

该功能是否需要其他平台项目变动

优先级

开发状态

相关的 issues

[enhancement] maintain an F-Droid repo with Apps already in the rules repo

Besides the update server for UpgradeAll, also host an F-Droid repo with same (or maybe some filtered) Apps inside. This wouldn't consume many extra resources, and could bring some more F-Droid users here (at least have more of them aware of this project), which should be a nice way for promotion.

[enhancement] add more metadata for App rule

To distinguish FOSS Apps from others, maybe it's better to include with which license they're shipped, like F-Droid. In the long run maybe something like App's homepage, brief intro, author's name, contact & page, etc. could be added as well.

[enhancement or bug report] expected behavior regarding Root

Currently the App always requests Root privilege upon open, no matter whether the APK installation method is set to Root. The expected behavior should be, only requesting Root privilege when it's set to Root, and not bothering to ask for that if users have set it to System Installer or Shizuku

[Todo] 自动按照平台类型下载文件

描述新功能或计划
自动按照本机或指定的平台类型下载文件,可以为不同的跟踪项单独设置平台类型

添加该功能的原因
例如:存储重定向 在三星设备上需要使用特定平台的安装包

实现方法或步骤

  1. 服务端检测平台类型并返回数据
  2. 客户端检测平台类型并开始下载

该变动涉及的模块
Updater 模块

该功能是否需要其他平台项目变动

优先级

开发状态
Todo

相关的 issues
#10

一种获取酷安应用更新的新方案

前提

  • 已阅读相关文档或说明
  • 经搜索没有一样的 issue

预期行为:
为了防止自动关闭,保持原issue格式不变。
我抓包发现upa获取酷安更新用的是https://api2.coolapk.com/v6/apk/detail?id=package,这个链接经常打不开,可能已经废弃了。
而现在酷安本身用的方案是https://api.coolapk.com/v6/apk/checkUpdate?coolmarket_beta=0,请求如下
Screenshot_2023-04-06-15-05-50-673_com guoshi httpcanary
请求体为base64编码,附样例
{"littleWhiteBear.BilibiliHelper":"0,20221128,7b420008d587700b19a34e8a95e26d42"}
也就是{"package":"edition,MD5"}

实际行为:

复现步骤

复现频率:

版本:
0.13-beta.3_e4c8135cf0

系统信息:
红米k50 安卓13

附加信息

[Todo] 自定义安装脚本支持

描述新功能或计划
为自动安装功能增加自定义脚本支持

添加该功能的原因
为支持 ROM、Magisk 模块、zip 刷机包等文件安装提供支持
为自定义安装流程的功能提供基础功能

实现方法或步骤

  1. 服务端返回文件类型
  2. 客户端二次校验文件
  3. 客户端调用 Shell 脚本,以环境变量的形式传入相关数据(文件位置等等)

该变动涉及的模块
Installer 模块

该功能是否需要其他平台项目变动

优先级

开发状态
Todo

相关的 issues
#9

[BUG/app] ANR crashes when using privileged installers

ANR crashes when using privileged installers fir both root and shizuku and not also stable when using them

Device:Samsung

Can't able to share log as it contains sensitive data ,u may can reproduce errors on ur end

[enhancement] 发布到 F-Droid

描述新功能或计划

将应用发布到 F-Droid

添加该功能的原因

我看到 F-Droid 是在计划中的,也有人在 F-Droid 那边提出了打包请求。我想问一下有什么我可以做的,帮助应用进入 F-Droid 。

实现方法或步骤

  1. 目前应用有一些非自由的依赖 (Firebase 和 GMS),在构建时去掉应该不难。
  2. bintray maven 库需要去掉,从 bintray 拉取的依赖是 https://github.com/RikkaApps/Shizuku-API 吗?那么可以切换到 MavenCentral。
  3. 之后我可以打包并提交

该变动涉及的模块

该功能是否需要其他平台项目变动

优先级

开发状态

相关的 issues

Export log crash

FATAL EXCEPTION: main
Process: net.xzos.upgradeall, PID: 9771
java.lang.RuntimeException: Unable to start activity ComponentInfo{net.xzos.upgradeall/net.xzos.upgradeall.ui.utils.file_pref.SaveFileActivity}: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.CREATE_DOCUMENT cat=[android.intent.category.OPENABLE] typ=text/plain (has extras) }
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2723)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2784)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1523)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:163)
at android.app.ActivityThread.main(ActivityThread.java:6238)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.CREATE_DOCUMENT cat=[android.intent.category.OPENABLE] typ=text/plain (has extras) }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1816)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1525)
at android.app.Activity.startActivityForResult(Activity.java:4398)
at androidx.activity.ComponentActivity.startActivityForResult(SourceFile)
at c0.b$b.b(SourceFile)
at androidx.activity.ComponentActivity$b.c(SourceFile:8)
at androidx.activity.result.ActivityResultRegistry$a.b(SourceFile)
at db.a.N(SourceFile:5)
at db.a.onCreate(SourceFile)
at android.app.Activity.performCreate(Activity.java:6857)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2676)
... 9 more

[Android Client Todo] 完成对服务端接口的适配

描述新功能或计划
将原先 jscore 运行方式改为从服务端获取数据

添加该功能的原因
保证获取软件数据快速有效,调整项目架构

实现方法
解析 App URL 并将相关数据上传服务端、修改获取 ReleaseInfo 的接口以获取返回数据

描述这个变动涉及的模块
Core

该功能是否需要服务端变动

相关的 issues
部署服务端 的前置项目

优先级

开发状态
Doing

test issue

前提

  • 已阅读相关文档或说明
  • 经搜索没有一样的 issue

预期行为:

实际行为:

复现步骤

复现频率:

版本:

系统信息:

附加信息

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.