[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-70552":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":9,"language":10,"languages":8,"totalLinesOfCode":8,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":8,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":8,"createdAt":8,"pushedAt":8,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":15,"starSnapshotCount":15,"syncStatus":26,"lastSyncTime":27,"discoverSource":28},70552,"FreeDroidWarn","woheller69\u002FFreeDroidWarn","woheller69",null,"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002FFreeDroidWarn","Java",2457,85,46,8,0,59,142,437,177,101.8,false,"main","2026-06-12 04:00:56","# FreeDroidWarn\n\n## Overview\n\nFrom 2026\u002F2027 onward, Google will [require developer verification](https:\u002F\u002Fdeveloper.android.com\u002Fdeveloper-verification) for all Android apps on certified devices, including those installed outside of the Play Store.\n\nThis library shows an alert dialog with a deprecation warning informing the user that the developer is not going to provide verification. It uses this text:\n\n> Google has announced that, starting in 2026\u002F2027, all apps on certified Android devices will require the developer to submit personal identity details directly to Google.\n> \n> Since the developers of this app do not agree to this requirement, this app will no longer work on certified Android devices after that time.\n\nSee [Keep Android Open](https:\u002F\u002Fkeepandroidopen.org\u002F) for more information and support us by submitting a complaint to your national regulator.\n\n## Arguments against developer verification\n\nRequiring developers to submit personal identity details to Google in order for their apps to run on certified Android devices represents a serious attack on fundamental digital rights:\n\n**Developer privacy** – Individual developers and small teams should not be forced to hand over government IDs or sensitive documents to a multinational corporation. Many developers value their privacy for legitimate personal, political, or security reasons.\n\n**The right to use my own device** – As a user, I should be free to run the software of my choice on my phone. Blocking applications that do not meet Google’s new requirements is a restriction on device ownership and digital freedom.\n\n**Free and open-source software ecosystems** – Many FOSS projects are developed by volunteers who will not (and often cannot) provide identity documents. This policy risks removing an enormous amount of valuable free software from certified Android devices.\n\n**Developer safety** – In some countries, linking real-world identities to developers of privacy tools, political apps, or security software can put them in danger. This requirement could actively harm people.\n\n**Adaptation and forking of open-source programs** – One of the most important freedoms of open-source software is the ability to fork and adapt programs to personal or local needs. Today, I can simply fork an app, add a translation, build it, and install it on my device. Under the new rules, any fork would require a new package ID — which in turn would force the developer to register with Google and provide personal identity details. This creates a bureaucratic and privacy-invasive barrier to the most basic use of open-source: improving, localizing, and customizing software.\n\n## Solutions\n\nDeveloper verification will be enforced on certified devices with Google Play Services installed, which is the majority of Android devices. There are options to bypass the restriction:\n\n- Use a free, uncensored Android system like [\u002Fe\u002Fos](https:\u002F\u002Fe.foundation\u002Fe-os\u002F), [LineageOS](https:\u002F\u002Flineageos.org\u002F), or [GrapheneOS](https:\u002F\u002Fgrapheneos.org\u002F) that does not preinstall Google Play Services.\n- \"Degoogle\" by removing Google Play Services. Depending on the manufacturer of your phone this may require [rooting your device](https:\u002F\u002Fwww.androidauthority.com\u002Froot-android-277350\u002F).\n- Install apps via ADB. Google has already confirmed that ADB will continue to work in the future. You can either use ADB from a PC as described below or use a wireless ADB based installer like [anyapk](https:\u002F\u002Fgithub.com\u002Fsam1am\u002Fanyapk).\n\n### Set up ADB on your device\n\n- Enable Developer options on your phone: In Android settings, find and tap the Build Number option (usually at the bottom in \"About phone\") seven times until you see the message \"You are now a developer!\"\n- Return to the main Settings screen to find Developer options at the bottom (or it may be in System)\n- Scroll through the options to find and enable USB debugging. On some devices, you can use the hourglass at the top of the Settings app to search for \"USB debugging\".\n\n#### Download ADB for PC (Windows) \n\nDownload these files into a folder:\n\n- [AdbWinApi.dll](https:\u002F\u002Fgithub.com\u002FK3V1991\u002FADB-and-FastbootPlusPlus\u002Fblob\u002Fmain\u002FAdbWinApi.dll?raw=true)\n- [AdbWinUsbApi.dll](https:\u002F\u002Fgithub.com\u002FK3V1991\u002FADB-and-FastbootPlusPlus\u002Fblob\u002Fmain\u002FAdbWinUsbApi.dll?raw=true)\n- [adb.exe](https:\u002F\u002Fgithub.com\u002FK3V1991\u002FADB-and-FastbootPlusPlus\u002Fblob\u002Fmain\u002Fadb.exe?raw=true)\n- [APK_Installer.bat](https:\u002F\u002Fgithub.com\u002Fwoheller69\u002FFreeDroidWarn\u002Fblob\u002Fmaster\u002FAPK_Installer.bat?raw=true)\n\n#### Download app APK\n\nYou will also need the APK file to install to your phone, e.g. from [F-Droid](https:\u002F\u002Ff-droid.org\u002F). Save the APK to the same folder where you downloaded the above files.\n\n#### Connect phone to USB and install app\n\n- Connect your phone to the PC via a USB cable.\n- You should see a notification on your phone to change USB mode. Set it to file transfer mode.\n- Open the folder where you saved the above files and double click `APK_Installer.bat`.\n- Select desired APK from list and install.\n- If prompted, check confirmation box on phone and agree to USB debugging from this PC.\n\nYour app will be installed 🚀\n\nOptional (**recommended**): Switch off USB debugging in Developer options until you need it again.\n\n## Use this library in your own Android project\n\nAdd the JitPack repository to your root `build.gradle` at the end of repositories:\n\n(If you are not using Groovy, see instructions on [Jitpack](https:\u002F\u002Fjitpack.io\u002F#woheller69\u002FFreeDroidWarn))\n\n```gradle\nallprojects {\n  repositories {\n    ...\n    maven { url 'https:\u002F\u002Fjitpack.io' }\n  }\n}\n```\n\nAdd the library dependency to your `build.gradle` file:\n\n```gradle\ndependencies {\n    implementation 'com.github.woheller69:FreeDroidWarn:V1.+'\n}\n```\n\nIn `onCreate` of your app just add:\n\n```java\nimport org.woheller69.freeDroidWarn.FreeDroidWarn;\n...\nFreeDroidWarn.showWarningOnUpgrade(this, BuildConfig.VERSION_CODE);\n```\n\n## License\n\nThis library is licensed under the Apache License, Version 2.0.\n\n## My Apps\n\n| **RadarWeather** | **Gas Prices** | **Smart Eggtimer** |\n|:---:|:---:|:--:|\n| [\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002Fweather\u002Fblob\u002Fmain\u002Ffastlane\u002Fmetadata\u002Fandroid\u002Fen-US\u002Fimages\u002Ficon.png\" width=\"50\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Forg.woheller69.weather\u002F) | [\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002Fspritpreise\u002Fblob\u002Fmain\u002Ffastlane\u002Fmetadata\u002Fandroid\u002Fen-US\u002Fimages\u002Ficon.png\" width=\"50\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Forg.woheller69.spritpreise\u002F) | [\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002Feggtimer\u002Fblob\u002Fmain\u002Ffastlane\u002Fmetadata\u002Fandroid\u002Fen-US\u002Fimages\u002Ficon.png\" width=\"50\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Forg.woheller69.eggtimer\u002F) |\n| **Bubble** | **hEARtest** | **GPS Cockpit** |\n| [\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002FLevel\u002Fblob\u002Fmaster\u002Ffastlane\u002Fmetadata\u002Fandroid\u002Fen-US\u002Fimages\u002Ficon.png\" width=\"50\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Forg.woheller69.level\u002F) | [\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002Faudiometry\u002Fblob\u002Fnew\u002Ffastlane\u002Fmetadata\u002Fandroid\u002Fen-US\u002Fimages\u002Ficon.png\" width=\"50\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Forg.woheller69.audiometry\u002F) | [\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002Fgpscockpit\u002Fblob\u002Fmaster\u002Ffastlane\u002Fmetadata\u002Fandroid\u002Fen-US\u002Fimages\u002Ficon.png\" width=\"50\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Forg.woheller69.gpscockpit\u002F) |\n| **Audio Analyzer** | **LavSeeker** | **TimeLapseCam** |\n| [\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002Faudio-analyzer-for-android\u002Fblob\u002Fmaster\u002Ffastlane\u002Fmetadata\u002Fandroid\u002Fen-US\u002Fimages\u002Ficon.png\" width=\"50\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Forg.woheller69.audio_analyzer_for_android\u002F) |[\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002Flavatories\u002Fblob\u002Fmaster\u002Ffastlane\u002Fmetadata\u002Fandroid\u002Fen-US\u002Fimages\u002Ficon.png\" width=\"50\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Forg.woheller69.lavatories\u002F) | [\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002FTimeLapseCamera\u002Fblob\u002Fmaster\u002Ffastlane\u002Fmetadata\u002Fandroid\u002Fen-US\u002Fimages\u002Ficon.png\" width=\"50\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Forg.woheller69.TimeLapseCam\u002F) |\n| **Arity** | **Cirrus** | **solXpect** |\n| [\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002Farity\u002Fblob\u002Fmaster\u002Ffastlane\u002Fmetadata\u002Fandroid\u002Fen-US\u002Fimages\u002Ficon.png\" width=\"50\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Forg.woheller69.arity\u002F) | [\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002Fomweather\u002Fblob\u002Fmaster\u002Ffastlane\u002Fmetadata\u002Fandroid\u002Fen-US\u002Fimages\u002Ficon.png\" width=\"50\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Forg.woheller69.omweather\u002F) | [\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002FsolXpect\u002Fblob\u002Fmain\u002Ffastlane\u002Fmetadata\u002Fandroid\u002Fen-US\u002Fimages\u002Ficon.png\" width=\"50\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Forg.woheller69.solxpect\u002F) |\n| **gptAssist** | **dumpSeeker** | **huggingAssist** |\n| [\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002Fgptassist\u002Fblob\u002Fmaster\u002Ffastlane\u002Fmetadata\u002Fandroid\u002Fen-US\u002Fimages\u002Ficon.png\" width=\"50\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Forg.woheller69.gptassist\u002F) | [\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002Fdumpseeker\u002Fblob\u002Fmain\u002Ffastlane\u002Fmetadata\u002Fandroid\u002Fen-US\u002Fimages\u002Ficon.png\" width=\"50\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Forg.woheller69.dumpseeker\u002F) | [\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002Fhuggingassist\u002Fblob\u002Fmaster\u002Ffastlane\u002Fmetadata\u002Fandroid\u002Fen-US\u002Fimages\u002Ficon.png\" width=\"50\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Forg.woheller69.hugassist\u002F) |\n| **FREE Browser** | **whoBIRD** | **PeakOrama** |\n| [\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002Fbrowser\u002Fblob\u002Fnewmaster\u002Ffastlane\u002Fmetadata\u002Fandroid\u002Fen-US\u002Fimages\u002Ficon.png\" width=\"50\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Forg.woheller69.browser\u002F) | [\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002FwhoBIRD\u002Fblob\u002Fmaster\u002Ffastlane\u002Fmetadata\u002Fandroid\u002Fen-US\u002Fimages\u002Ficon.png\" width=\"50\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Forg.woheller69.whobird\u002F) | [\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002FPeakOrama\u002Fblob\u002Fmaster\u002Ffastlane\u002Fmetadata\u002Fandroid\u002Fen-US\u002Fimages\u002Ficon.png\" width=\"50\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Forg.woheller69.PeakOrama\u002F) |\n| **Whisper+** | **Seamless** | **SherpaTTS** |\n| [\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002FwhisperIMEplus\u002Fblob\u002Fmaster\u002Ffastlane\u002Fmetadata\u002Fandroid\u002Fen-US\u002Fimages\u002Ficon.png\" width=\"50\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Forg.woheller69.whisperplus\u002F) | [\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002Fseamless\u002Fblob\u002Fmaster\u002Ffastlane\u002Fmetadata\u002Fandroid\u002Fen-US\u002Fimages\u002Ficon.png\" width=\"50\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Forg.woheller69.seemless\u002F) | [\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fwoheller69\u002Fttsengine\u002Fblob\u002Fmaster\u002Ffastlane\u002Fmetadata\u002Fandroid\u002Fen-US\u002Fimages\u002Ficon.png\" width=\"50\">](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Forg.woheller69.ttsengine\u002F) |\n","FreeDroidWarn 是一个用于在Android应用中显示开发者未验证警告对话框的库。其核心功能是在2026\u002F2027年谷歌要求所有认证设备上的应用必须进行开发者身份验证后，向用户展示该应用将不再支持认证设备的通知。该项目使用Java语言开发，通过简洁的警告信息提醒用户未来可能遇到的问题。FreeDroidWarn适用于那些不同意提交个人身份信息给谷歌的独立开发者或小团队所开发的应用场景，特别是对于重视隐私保护、自由开源软件生态系统以及开发者安全性的项目来说尤为重要。",2,"2026-06-11 03:32:47","trending"]