onyxbits / raccoon4 Goto Github PK
View Code? Open in Web Editor NEWAPK Downloader for Google Play
Home Page: https://raccoon.onyxbits.de
License: Apache License 2.0
APK Downloader for Google Play
Home Page: https://raccoon.onyxbits.de
License: Apache License 2.0
On F-droid when we want to install any app, we can see the required permissions are organized into some categories (storage, Android system, corporal sensors, Camera, SMS, Phone, Location, Contacts, Calendar, ...) and permissions are explained: "Enable bluetooth" and "sync with bluetooth devices" instead of "android.permission.BLUETOOTH" and "android.permission.BLUETOOTH_ADMIN". I find this incredibly helpful and intuitive.
Thank you so much for your hard work!!
List suggestions here on how Raccoon could modify APK files (think: Exposed framework, just without installing xposed).
^ Pretty much.
Hook up a new dialog "Actions" to the "Market" menu that allows the user to configure post download actions:
Currently the connection to googleplaystore closes with "Error retrieving information from server RH-02" and no Apps are shown.
If the user submits a Google Play URL or a packagename, then directly do a details instead of a search query.
ADB Backup can be used for cloning individual apps from device to device
https://www.reddit.com/r/Android/comments/6s5de5/another_useful_adb_trick_moving_saved_games/
I've been using Raccoon v3 from the CLI and I'm surprised to see there's no CLI in the new version. Are there any plans for it?
BTW, I'm a huge fan!
Thanks
Hi, unfortunately I'm not able to search for apps at certain GSF IDs. The IDs were generated by DummyDroid. When I set up a new account with a random ID, app search works perfectly, but I have to use the correct ID as my phone is giving me parsing errors for some apps.
With the IDs from DummyDroid there are always "no results", no matter what I'm looking for, in raccoon.
I'm using Windows 7, raccoon-4.1.4.exe, Samsung Galaxy N7100.
Thanks, I really appreciate your work and of course I have purchased a code :)
The CLI doesn't seem to have a very good documentation, so I don't understand how to login. Can you please help me out?
Also I've bought a premium key but haven't received it yet. I don't know if the process should be automated or not.
Error: This application requires a Java Runtime Environment 1.7.0
System: Windows 10 64-bit, with JRE 9.0 installed; Raccoon v. 4.1.5
The transfermanager should use the titlestrips subtitle to show the number of incomplete transfers.
Add a log to the Transfermanager
There should be a File|Convert menuitem (someone please suggest a better name and a tooltip text). That only shows if an old Raccoon v3 installation is detected in Raccoon's homedir.
Function: All apps (of all archives) found in the old installation should be piped through the GPlay Transfermanager (or a derivate of it) and automatically be linked to the current GPlay profile.
Discussion:
Hi @onyxbits
I found about 3 changes in API login code base comparing to akdeniz's API :
Passwd
with EncryptedPasswd
(which require new encrypted value)sdk_version
to 17
(seems to be year!)client_sig
paramsadd_account
I was wonder if you could help us on how did you figured these out ?
How could we change this private API (akdeniz's API) if necessary ?
Is there any source or related link you think it will help us to find the right http post format?
I know, you spend lost of time to find out what should be change for new login procedure BUT i'll appreciate it if you at least tell us how to find workaround for future issues.
Regards.
There are apps (e.g. Samsung's "Smart Switch") that declare permissions with names that exceed 256 bytes.
How to download via command line
please help
I am not sure if this is the right fix, or if Patrick will decide to do something different, but the problem of not being able to download certain apps from Play Store using Raccoon dates back for me all the way to 4.0 when I started using it. I've been able to reproduce and fix the problem on my Raccoon with no other impact.
java -cp raccoon.jar org.hsqldb.util.DatabaseManagerSwing --url jdbc:hsqldb:file:raccoondb_4
ALTER TABLE PUBLIC.PERMISSIONS ALTER COLUMN NAME VARCHAR(1000)
ALTER TABLE PUBLIC.ANDROIDAPPS ALTER COLUMN NAME VARCHAR(1000)
This 100% fixed my downloading/importing problem. I batch imported over 200 apk's without issue or a hicup.
Example app of causing issue: Samsung Browser Beta (com.sec.android.app.sbrowser.beta)
Couldn't download or Import before the fix.
[DESCRIBE_TABLES_BEFORE.txt]
(https://github.com/onyxbits/raccoon4/files/1348473/DESCRIBE_TABLES_BEFORE.txt)
Would be cool to have a "Device|Quick note" feature for jotting down reminders.
Rework "Market|Update apps":
There is options like gpa-search
, --gpa-details
to get list of package, but no option to download the package in CLI.
Is there any way to download the APK using the CLI or using the HTTP APIs?
The "My apps" browser won't always refresh when deleting or downloading apps. This is probably due to a race condition in AndroidAppDao (calling fireOnDatasetChangeEvent() too early. It should be called after disconnecting from the database).
I have a stock Fairphone 2 running the latest OS (18.02, with Google services). I'm trying to use Raccoon in the "Mimic an existing device" mode, which requires the "GSF ID" and "User Agent" values. I first tried to use droidentify, but I can't find these values anywhere in the output. I then proceeded to use the Device ID app, which does display the "GSF ID".
I then set up Raccoon with the "GSF ID" and a random string for the "User Agent". However after doing so, I can't seem to find any apps with Raccoon.
P.S. I can't use the "Register a new pseudo device" option, as that creates a new phone located in the US, which prevents me from downloading apps made exclusively for Europe.
The app details dialog should show additional info:
It should also allow for relinking an app to a different profile. The dialog should probably be completely redesigned to only contain the tilestrip and a tab host (on the nimbus theme, a tab host looks awkward if it doesnt span the entire window).
I've read your blog post about it [1] and reset my profile several time, but systematically the error come back.
I use Racoon only to download one paid app (I pay for it) because my phone do not have the play store (fairphone open AOSP).
This morning I try to update it, saw your warning about racoon 3 being deprecated. Thus I download the new version, and follow the steps to import an existing app. But nothing seems to work. In fact I see my imported app in the app manager, but I cannot find any other app (the search feature return 0 results, whatever I look for).
BTW, I use my main google account (but use it only for that…), which is protected by 2FA. During the configuration steps of racoon I disable 2FA, and enable it back as soon as I get the home view of racoon. Could this bug be linked with 2FA and app-specific password ?
I foolishly follow your tip in [1] and delete the Racoon 3 data file, thus I'm now stuck with a non-working racoon and no idea how to update my paid app :(
Use case: Currently the owning profile is set automatically when an app is downloaded from Play. The user has no means to change (or even view) it. The owning profile is used when checking for updates. It would be desireable to unlink a profile from an app (to stop it from being updated) or link it to another profile (e.g. after the apk has been imported from the filesystem and should now be put under version control).
The functionality for this should go into the "app details" dialog.
Hi,
Today I can't download any app using Raccoon, it give me Error!
I think google make a change in API.
Hi and thanks for great client.
From the point that you're using this java api and in my issue on that api page
Android Cloud to Device Messaging (C2DM) is deprecated. The C2DM service will be shut down completely on 10/20/2015. Currently, C2DM accepts no new users, and grants no new quotas
Will this API working in future ?
Does google plan to remove Client login ?
Regards
Firefox has this "Open With" Addon (https://addons.mozilla.org/en-US/firefox/addon/open-with/). Would be nice to have a
--gpa-open
Commandline parameter to hand over a market page from browser to Raccoon.
ToDo:
Hi,
Thanks for your work on this great project.
I'm just putting in a request for signed GitHub releases, so downloads can be verified.
I've found an easy guide.
Signed releases in combination with the GitHub JSON API could be the beginnings of a simple update system.
I got this when starting Racoon for a very first time with no database by clicking "View" and selecting "My Apps"
Looks like we shouldn't try to set autocommit then no connection has not been obtained in
DatabaseManager.java:139
2018-01-02 16:01:49.281:INFO:oejs.Server:jetty-8.y.z-SNAPSHOT
2018-01-02 16:01:49.349:INFO:oejs.AbstractConnector:Started [email protected]:20579
java.lang.NullPointerException
at de.onyxbits.raccoon.db.DatabaseManager.get(DatabaseManager.java:139)
at de.onyxbits.raccoon.appmgr.MyAppsViewBuilder.assemble(MyAppsViewBuilder.java:197)
at de.onyxbits.weave.swing.AbstractPanelBuilder.build(AbstractPanelBuilder.java:56)
at de.onyxbits.weave.swing.WindowBuilder.build(WindowBuilder.java:196)
Automatically regain focus on the search query box when returning to the window from another dialog.
Currently it's a mess of references and callbacks between the classes that make up the app manager dialog. There should be a DepotManager in the globals to centralize call routing.
Example: com.socialnmobile.dictapps.notepad.color.note
The majority of apps that I've tried downloading seem to work OK, but some seem to not work any time that they're attempted to be downloaded. In the console is the error:
Error retrieving information from server. [DF-BPA-33]
A search of this error pulls up pretty much nothing except for https://www.quora.com/Do-you-know-what-is-the-df-bpa-33-error-on-Google-play-store , which suggests a time synchronization problem. Why this is only happening for certain apps is beyond me.
An example app with this problem is:
https://play.google.com/store/apps/details?id=com.hutchgames.hotwheels
For some strange reason, EntityListeners are are registered on the DatabaseManager, not the DataAccessObject.
Figure out why it was designed that way and change it before this becomes any more awkward.
Hi,
I want to use variable -Draccoon.home under windows.
How to do with the downloaded exe file?
It should be possible to copy&paste the description of an app.
Add a means to effortlessly disable bloatware via ADB:
With raccoon v3 the -u
flag was used to update apps through the command line. This feature is no longer available in raccoon v4
The .jars built with ./gradlew -Pversion=4.0.1 assemble
do not start (no main manifest attribute, in Raccoon-desktop-4.0.1.jar
), although the versions published on your website do. Specify that -Pversion=something
is needed, and that the build itself should be done with launch4j tasks instead of the standard ones. (Those were fairly confusing 20 minutes :P)
Hi,
might it be possible to provide this application also as native Android app?
This could improve the installation and updating process of additional apps.
And you are able to fetch device specific information (user agent, GSF ID) by reading them directly from the device.
Are there some special reasons why this application has been developed for desktop only?
I am just not able to find https://play.google.com/store/apps/details?id=com.google.android.contacts with Raccoon, which is strange, because I am able to find all kinds of other Google products.
Hi and thanks for this application!
When using a search string with multiple terms (e.g. "Bike Citizens"), the results contains duplicates.
I'd be happy to take a look myself, but didn't yet figure out how to get it running from my IDE (IntelliJ). It recognizes several gradle tasks (e.g. build), but none for running.
Telling users to use DummyDroid to bypass compatibility restrictions is a pain. So DummyDroid should probably merge into Raccoon. There should be a dialog to identify a device via ADB and upload that profile into the current account.
Use case: Importing apps is usually a batch operation and the apps in question usually have something in common (e.g. bought as a bundle or belong to a specific device). Currently, you have to group apps from the app browser after importing, which is tedious. The import dialogs should offer the option to do this automatically.
After entering my account credentials and setting Raccoon up as a new device I am getting the error Error=BadAuthentication
Sometimes I am also getting a message that two-factor authentication may be enabled directly after entering the credentials, which is not true in my case.
I even tried to create a new Google Account but it had the same error.
Here is the full log:
2017-06-03 17:50:18.267:INFO:oejs.Server:jetty-8.y.z-SNAPSHOT 2017-06-03 17:50:18.366:INFO:oejs.AbstractConnector:Started [email protected]:36435 com.akdeniz.googleplaycrawler.GooglePlayException: Error=BadAuthentication at com.akdeniz.googleplaycrawler.GooglePlayAPI.executeHttpRequest(GooglePlayAPI.java:585) at com.akdeniz.googleplaycrawler.GooglePlayAPI.executePost(GooglePlayAPI.java:543) at com.akdeniz.googleplaycrawler.GooglePlayAPI.executePost(GooglePlayAPI.java:522) at com.akdeniz.googleplaycrawler.GooglePlayAPI.loginAC2DM(GooglePlayAPI.java:182) at com.akdeniz.googleplaycrawler.GooglePlayAPI.checkin(GooglePlayAPI.java:165) at de.onyxbits.raccoon.setup.UploadLogic.onDoInBackground(UploadLogic.java:89) at de.onyxbits.raccoon.setup.WizardWorker.doInBackground(WizardWorker.java:36) at javax.swing.SwingWorker$1.call(SwingWorker.java:295) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at javax.swing.SwingWorker.run(SwingWorker.java:334) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
I am running Antergos Linux with JDK & JRE 8 installed
Add an option to the QR code context menu to open displayed urls in the browser
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.