GithubHelp home page GithubHelp logo

martinstyk / androidapkanalyzer Goto Github PK

View Code? Open in Web Editor NEW
253.0 23.0 55.0 31.61 MB

Android application for analyzing installed apps

License: GNU General Public License v3.0

Java 0.18% Kotlin 99.82%
apk analyzer metadata-extraction android-application androidmanifest master-thesis

androidapkanalyzer's Introduction

ApkAnalyzer Release Continuous integration

pic1 Get it on Google Play

Detailed reports of the applications on your device. 📱

Apk Analyzer is the most downloaded apk analysis app on Google Play. It provides detailed report of installed apps and also about not installed .apk files from your device storage. 📱 It's open source and completely ad free.

App report contains:

  • App naming and version data
  • Target and minimal Android versions
  • Install and update dates
  • Certificate and app sign data
  • Used permissions with description
  • Activities with launch option
  • Services, Broadcast Receivers and Content Providers
  • Required and optional hardware features
  • Full version of AndroidManifest.xml with save option
  • And much more 😉

Installed apps can be saved to device storage and shared. App icon can be saved as well! App decodes the main metadata file AndroidManifest and saves it as a readable xml to an external storage.

Apk Analyzer shows you an app report even before installing from APK file.

Permissions

  • List all permissions requested by apps on your device
  • Find out the most commonly used permissions and apps which request them
  • List apps requesting permission and explore which apps has been given it.
  • Explore the protection level

Statistics

  • Interested in statistics data of your app collection?
  • Find out the distribution of Android versions among apps on your device or app signing used
  • Find out the average number of activities, permissions, or distribution of Android and certificate versions.

Application doesn't require rooted device. Open source, licensed under GNU General Public License v3.

androidapkanalyzer's People

Contributors

balazsgerlei avatar martinstyk avatar tomo0611 avatar unknownman820 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

androidapkanalyzer's Issues

Alternative download source

Would you mind attaching the .apk to the corresponding releases/ for folks avoiding Playstore (or having no access to it)? I'd offer to pick it then and provide it via my F-Droid compatible repository if you'd agree. That way, updates would be available via the F-Droid client within approx. 24h of your creating a new release and attaching the .apk to it – of course provided the user has my repo added to the client's list.

Repackaged APK detection

This will work like this

  • select "Check possible repackaging" in Apk Analyzer's detail app report screen
  • Apk Analyzer sends serialized application detail report to server
  • Server will add app report to its database
  • Server compare this app report with reports in database and looks for similar package signed by different certificate - server compares hashes of files in packages to find similar ones, also compare certificate, app version, app install source...
  • Server answers back to client - App is suspicious / App is OK

[Feature Request] Export and import app data?

Would you consider providing some simple functionality along the lines of List My Apps?

It would be great if Apk Analyzer could import and export data individually and in bulk, so that app details could be viewed on a device where the package is not installed and not present as an APK.

XML (perhaps gzipped?) might be the best way to accomplish this.

Add a way to refresh the app list (or refresh it automatically)

There seem to be no way of refreshing the list of "Applications" in the app, nor is that refreshed while the app is running and the screen is showing. So it is possible to install an app while Apk Analyzer is running so it will not show up in the list until the app is restarted.

I would like to ask for either an option to refresh the list manually, or a way that the list is refreshed, e.g. when the app comes to the foreground with that screen.

D

C

[Feature Request] Support per-app language preferences

Android 13 introduced (see documantation) the ability to change language for individual application a couple of years ago and even though this app only supports a couple of languages for now, it would be nice to enable this, also considering that it's quite easy and straightforward to do so.

In fact, I'm happy to give it a crack and I will submit a PR for it I think.

APK sideload install intent

It'd be nice if this app had a intent receiver that gives the user a chance to use this app when he/she clicks the apk to install it.
Since the app already has the option to select apk and analyze it.

Kinda like how some anti viruses like Malwarebytes give the option to scan an apk and install it after scan after clicking on the apk.

[Feature Request] Display SHA256 hash of apk certificate alongside MD5

It's great that the app displays the MD5 hash for installed app (on the Certificate tab) and it would be very useful to additionally display the SHA256 hash as well, which would be especially useful to verify website associations, where that "fingerprint" needs to be used in the JSON you put under your domain.

Thanks a lot in advance!

ApkAnalyzer fail to analyze APK

ApkAnalyzer fails to analyzer the beta version of https://github.com/ukanth/afwall/releases/download/v3.2.0-BETA/AFWall+_3.2.0-BETA-PS1.apk downloaded from playstore.

That probably happen because the app miss some informations about the it authority.

07-17 13:12:47.512 I/ActivityManager( 2324): START u0 {cmp=sk.styk.martin.apkanalyzer.premium/sk.styk.martin.apkanalyzer.ui.activity.appdetail.base.AppDetailActivity (has extras)} from uid 10174
07-17 13:12:47.544 W/ActivityThread( 6378): handleWindowVisibility: no activity for token android.os.BinderProxy@570bb88
07-17 13:12:47.616 E/AppDetailDataService( 6378): java.lang.IllegalStateException: it.authority must not be null
07-17 13:12:49.548 W/FA ( 6378): setCurrentScreen cannot be called with the same class and name

Min SDK incorrect on statistics view

On Android Pie, app v2.7.0, all of my apps (including system) are marked as using min SDK 28 in statistics view. Target SDK and other statistics seem to be correct.

In app list (specific apps) the min SDK also seems to be correct.

Statistics should list affected apps

For example, I have 7 "prefer external" apps and I would like to know, which apps are they. An intuitive way would be to tap on the graph column to open a popup showing the apps' names and icons.

VirusTotal scan implementation

Maybe you can implement VirusTotal scanning feature.

If you don't want to deal with API keys etc. you can give an option to enter Virustotal API key with link and instructions to signup page.
The user can then go and create an API key on the Virustotal website and copy paste it.

analyzing not installed apk from SD card not working

Expected behavior

The app provides detailed report not only about installed app but also not
installed Apk so I expected the not installed apk to load up using the ( analyze apk from external file ) option..

Actual behavior

On trying to load apk files on SD card, the operation failed

How to reproduce

*Download

*install

*launch

*click the three vertical dots and then click "analyze apk from external file"

*Finally navigate to folder where you have apk files in your external card and then see what happens....

  • Apk analyzer version 2.3.1
  • Operating system: Android 7.0 nougat
    *Device: Tecno k7

Recording Of The Bug

https://youtu.be/e-eYHe3YGUg



Posted on Utopian.io - Rewarding Open Source Contributors

[Feature Request] F-droid in sources filter

F-Droid apps show up as sideloaded apps and there isn't an easy way to know if the app is from F-Droid.

Since F-Droid is the only source for FOSS exclusive apps, it might be nice to add a Filter for F-Droid and filter the F-Droid signed apps.

Cannot build the project without google-services.json

Hi,
I would like to contribute to this open source project and I forked it here on GitHub but when I try to build the app it fails with "> File google-services.json is missing. The Google Services Plugin cannot function without it. " error. Obviously that file (the real one) is not checked in to the repo but can you provide a way to build the project without it (maybe a different flavour)? Maybe you can add a debug variant of this file that does not contain any real information.

It would be awesome if you can write e.g. a section in the README about building the project to contribue too. Thank you!

crashes when opening external APK

Happened with two different APK files.
Samsung Galaxy Note 8 / sm-g950w
Oreo
APK Analyzer 2.3.2

I'm available if more logs needed.

3811 V WindowManager: Relayout Window{dd70495 u0 sk.styk.martin.apkanalyzer/sk.styk.martin.apkanalyzer.ui.activity.MainActivity}: viewVisibility=4 req=1080x2220 WM.LayoutParams{(0,0)(fillxfill) sim=#20 ty=1 fl=#81810100 pfl=0x1020000 wanim=0x10302fd vsysui=0x710 needsMenuKey=2 colorMode=0 naviIconColor=0}
08-05 22:54:53.219  1496  1912 I InputDispatcher: Dropping event because there is no touchable window at (644, 1311).
08-05 22:54:53.220 11088 11088 D ViewRootImpl@87db7c6[MainActivity]: Relayout returned: old=[0,0][1080,2220] new=[0,0][1080,2220] result=0x1 surface={valid=false 0} changed=false
08-05 22:54:53.221  1496  1912 I InputDispatcher: Dropping event because there is no touchable window at (644, 1311).
08-05 22:54:53.224  1496  1912 I InputDispatcher: Dropping event because there is no touchable window at (644, 1309).
08-05 22:54:53.225  1496  2155 D GameManagerService: handleForegroundChange(). pkgName: sk.styk.martin.apkanalyzer, clsName: sk.styk.martin.apkanalyzer.ui.activity.MainActivity,FgActivityName:sk.styk.martin.apkanalyzer/.ui.activity.MainActivity
08-05 22:54:53.225  6243 16216 I TrayUsageStatesWatcher: noteResumeComponent : ComponentInfo{sk.styk.martin.apkanalyzer/sk.styk.martin.apkanalyzer.ui.activity.MainActivity}
08-05 22:54:53.225  1496  2155 D GameManagerService: sem_perfomance_mode: 0
08-05 22:54:53.225  1496  1968 D MARsPolicyManager: onPackageResumedFG pkgName = sk.styk.martin.apkanalyzer, userId = 0
08-05 22:54:53.225  1496  2155 D GameManagerService: notifyResumePause(). pkg: sk.styk.martin.apkanalyzer, type: 0, isMinimized: false, isTunableApp: true
08-05 22:54:53.225  1496  2155 D GameManagerService:   notifyResumePause(). changed mKillNotiCount: 0
08-05 22:54:53.225  1496  2155 D GameManagerService:   notifyResumePause(). before send intent to GameIntentService
08-05 22:54:53.226 11088 11088 D AndroidRuntime: Shutting down VM
--------- beginning of crash2
08-05 22:54:53.227 11088 11088 E AndroidRuntime: FATAL EXCEPTION: main
08-05 22:54:53.227 11088 11088 E AndroidRuntime: Process: sk.styk.martin.apkanalyzer, PID: 11088
08-05 22:54:53.227 11088 11088 E AndroidRuntime: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=66860, result=-1, data=Intent { dat=content://com.android.providers.downloads.documents/document/raw:/storage/emulated/0/Download/bugheist.apk flg=0x1 }} to activity {sk.styk.martin.apkanalyzer/sk.styk.martin.apkanalyzer.ui.activity.MainActivity}: java.lang.NumberFormatException: For input string: "raw:/storage/emulated/0/Download/bugheist.apk"
08-05 22:54:53.227 11088 11088 E AndroidRuntime: 	at android.app.ActivityThread.deliverResults(ActivityThread.java:4491)
08-05 22:54:53.227 11088 11088 E AndroidRuntime: 	at android.app.ActivityThread.handleSendResult(ActivityThread.java:4534)
08-05 22:54:53.227 11088 11088 E AndroidRuntime: 	at android.app.ActivityThread.-wrap20(Unknown Source:0)
08-05 22:54:53.227 11088 11088 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1752)
08-05 22:54:53.227 11088 11088 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:105)
08-05 22:54:53.227 11088 11088 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:164)
08-05 22:54:53.227 11088 11088 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:6940)
08-05 22:54:53.227 11088 11088 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
08-05 22:54:53.227 11088 11088 E AndroidRuntime: 	at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
08-05 22:54:53.227 11088 11088 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
08-05 22:54:53.227 11088 11088 E AndroidRuntime: Caused by: java.lang.NumberFormatException: For input string: "raw:/storage/emulated/0/Download/bugheist.apk"
08-05 22:54:53.227 11088 11088 E AndroidRuntime: 	at java.lang.Long.parseLong(Long.java:590)
08-05 22:54:53.227 11088 11088 E AndroidRuntime: 	at java.lang.Long.valueOf(Long.java:804)
08-05 22:54:53.227 11088 11088 E AndroidRuntime: 	at sk.styk.martin.apkanalyzer.util.file.RealPathUtils.a(Unknown Source:200)
08-05 22:54:53.227 11088 11088 E AndroidRuntime: 	at sk.styk.martin.apkanalyzer.util.file.ApkFilePicker.a(Unknown Source:32)
08-05 22:54:53.227 11088 11088 E AndroidRuntime: 	at sk.styk.martin.apkanalyzer.ui.activity.applist.searchable.AppListFragment.onActivityResult(Unknown Source:37)
08-05 22:54:53.227 11088 11088 E AndroidRuntime: 	at android.support.v4.app.FragmentActivity.onActivityResult(Unknown Source:69)
08-05 22:54:53.227 11088 11088 E AndroidRuntime: 	at android.app.Activity.dispatchActivityResult(Activity.java:7547)
08-05 22:54:53.227 11088 11088 E AndroidRuntime: 	at android.app.ActivityThread.deliverResults(ActivityThread.java:4487)
08-05 22:54:53.227 11088 11088 E AndroidRuntime: 	... 9 more
08-05 22:54:53.227  1496  1912 I InputDispatcher: Dropping event because there is no touchable window at (644, 1308).
08-05 22:54:53.230  1496  1912 I InputDispatcher: Dropping event because there is no touchable window at (644, 1306).
08-05 22:54:53.230 10901 10901 D ViewRootImpl@906257[PickActivity]: MSG_WINDOW_FOCUS_CHANGED 0
08-05 22:54:53.231  2908  2908 I SemPersonaManager: SecureFolder personaId = 150
08-05 22:54:53.231  4085  4085 I Launcher: onWindowVisibilityChanged : false
08-05 22:54:53.232  1496  1912 I InputDispatcher: Dropping event because there is no touchable window at (644, 1305).
08-05 22:54:53.233  1496  2155 D GameManagerService:   notifyResumePause(). after send intent to GameIntentService
08-05 22:54:53.233  1496  1968 V WindowManager: Relayout Window{72f45e0 u0 com.sec.android.app.launcher/com.sec.android.app.launcher.activities.LauncherActivity}: viewVisibility=4 req=1080x2220 WM.LayoutParams{(0,0)(fillxfill) sim=#120 ty=1 fl=#81910d02 pfl=0x20000 fmt=-2 wanim=0x10302ea vsysui=0x700 needsMenuKey=2 colorMode=0 dimDuration=300 naviIconColor=0 sfl=0x40}
08-05 22:54:53.234  1496  7103 D GamePkgDataHelper: getGamePkgDataIncServer(). sk.styk.martin.apkanalyzer
08-05 22:54:53.235  1496  3893 D Debug   : !@DumpState : SHIP
08-05 22:54:53.235  1496  3893 D Debug   : !@DumpState : debug level:0x4f4c
08-05 22:54:53.235  6335 11129 D GOS:GameIntentService: onHandleIntent. begin
08-05 22:54:53.235  1496  3893 D Debug   : !@Dumpstate : Finally, system will skip dumpstate
08-05 22:54:53.235  1496  1912 I InputDispatcher: Dropping event because there is no touchable window at (644, 1304).
08-05 22:54:53.235  6335 11129 D GOS:GameIntentService: onHandleIntent. GameIntentService. type 0
08-05 22:54:53.235  1496  3893 W ActivityManager: crash : sk.styk.martin.apkanalyzer,0
08-05 22:54:53.236  2702  2732 D ForegroundUtils: could not check pending caller
08-05 22:54:53.237  6335 11129 D GOS:PkgData: PkgData(), pkgName: sk.styk.martin.apkanalyzer
08-05 22:54:53.237  6335 11129 D GOS:PkgData: setCustomFeatureFlag, pkgName: sk.styk.martin.apkanalyzer, old featureFlag: 346781844236309267, new featureFlag: 274882278167
08-05 22:54:53.237  6335 11129 D GOS:ServiceManager: onTunableNonGameResume. [sk.styk.martin.apkanalyzer] 
08-05 22:54:53.237  4085  4085 D ViewRootImpl@c948ffa[LauncherActivity]: Relayout returned: old=[0,0][1080,2220] new=[0,0][1080,2220] result=0x1 surface={valid=false 0} changed=false
08-05 22:54:53.238  1496  3893 W ActivityManager:   Force finishing activity sk.styk.martin.apkanalyzer/.ui.activity.MainActivity
08-05 22:54:53.238  1496  1912 I InputDispatcher: Dropping event because there is no touchable window at (644, 1302).
08-05 22:54:53.239  1496  3893 W MultiScreenManagerService: moveTaskBackToDisplayIfNeeded(): root activity or app is null, task=TaskRecord{70ec98fd0 #13396 A=sk.styk.martin.apkanalyzer U=0 StackId=1 sz=2}, rootActivity=null
08-05 22:54:53.239  1496  1496 D CodecSolution: MultiWindowEventListener::onMultiWindowFocusChanged(0)
08-05 22:54:53.239  1496  1496 D MdnieScenarioControlService: Listener Real Multi Window State : true
08-05 22:54:53.239  1496  1496 D CS_HdrController: MultiWindowEventListener::onFocusStackChanged(0)
08-05 22:54:53.240  6243 16216 I Tr

.............   2nd instance / opening another external APK / same crash

08-05 23:26:50.233 17202 17202 E AndroidRuntime: FATAL EXCEPTION: main
08-05 23:26:50.233 17202 17202 E AndroidRuntime: Process: sk.styk.martin.apkanalyzer, PID: 17202
08-05 23:26:50.233 17202 17202 E AndroidRuntime: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=66860, result=-1, data=Intent { dat=content://com.android.providers.downloads.documents/document/raw:/storage/emulated/0/Download/com.samsung.android.pluginrecents_1.3.01.62-130162000_minAPI26(nodpi)_apkmirror.com.apk flg=0x1 }} to activity {sk.styk.martin.apkanalyzer/sk.styk.martin.apkanalyzer.ui.activity.MainActivity}: java.lang.NumberFormatException: For input string: "raw:/storage/emulated/0/Download/com.samsung.android.pluginrecents_1.3.01.62-130162000_minAPI26(nodpi)_apkmirror.com.apk"
08-05 23:26:50.233 17202 17202 E AndroidRuntime: 	at android.app.ActivityThread.deliverResults(ActivityThread.java:4491)
08-05 23:26:50.233 17202 17202 E AndroidRuntime: 	at android.app.ActivityThread.handleSendResult(ActivityThread.java:4534)
08-05 23:26:50.233 17202 17202 E AndroidRuntime: 	at android.app.ActivityThread.-wrap20(Unknown Source:0)
08-05 23:26:50.233 17202 17202 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1752)
08-05 23:26:50.233 17202 17202 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:105)
08-05 23:26:50.233 17202 17202 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:164)
08-05 23:26:50.233 17202 17202 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:6940)
08-05 23:26:50.233 17202 17202 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
08-05 23:26:50.233 17202 17202 E AndroidRuntime: 	at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
08-05 23:26:50.233 17202 17202 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
08-05 23:26:50.233 17202 17202 E AndroidRuntime: Caused by: java.lang.NumberFormatException: For input string: "raw:/storage/emulated/0/Download/com.samsung.android.pluginrecents_1.3.01.62-130162000_minAPI26(nodpi)_apkmirror.com.apk"
08-05 23:26:50.233 17202 17202 E AndroidRuntime: 	at java.lang.Long.parseLong(Long.java:590)
08-05 23:26:50.233 17202 17202 E AndroidRuntime: 	at java.lang.Long.valueOf(Long.java:804)
08-05 23:26:50.233 17202 17202 E AndroidRuntime: 	at sk.styk.martin.apkanalyzer.util.file.RealPathUtils.a(Unknown Source:200)
08-05 23:26:50.233 17202 17202 E AndroidRuntime: 	at sk.styk.martin.apkanalyzer.util.file.ApkFilePicker.a(Unknown Source:32)
08-05 23:26:50.233 17202 17202 E AndroidRuntime: 	at sk.styk.martin.apkanalyzer.ui.activity.applist.searchable.AppListFragment.onActivityResult(Unknown Source:37)
08-05 23:26:50.233 17202 17202 E AndroidRuntime: 	at android.support.v4.app.FragmentActivity.onActivityResult(Unknown Source:69)
08-05 23:26:50.233 17202 17202 E AndroidRuntime: 	at android.app.Activity.dispatchActivityResult(Activity.java:7547)
08-05 23:26:50.233 17202 17202 E AndroidRuntime: 	at android.app.ActivityThread.deliverResults(ActivityThread.java:4487)
08-05 23:26:50.233 17202 17202 E AndroidRuntime: 	... 9 more


List intents

Is there any reason why this app doesn't allow you to list intents? That is the only thing that I need, in order to find out how to automate tasks in other apps with Tasker or Automate.

Search option not working

No search bar nor keyboard pop-up when selecting search option. Did uninstall some Samsung bloatware I don't know if any are needed for this app to work. Appreciate some help! Samsung Galaxy S20

Bug: Properties for Android components of an app changes while browsing the list of them

On the Application details screen, the Android components' (e.g. Services, Content Providers...) properties can change and be displayed incorrectly while browsing the list and expanding/collapsing the corresponding item in the list.

E.g. if you check Chrome (which is pre-installed on most Android devices) and scroll down in the list of Services to the bottom and expand "UsageStatsBrowserServiceProvider" you can see that it is exported (it says "Yes" for the line "Exported", and it can be verified without the app that it is indeed exported). If you then collapse/close that entry and keep expanding/opening others above it ("GooglePlayDataCallbackService", "ScheduledTaskService", etc.) and after expading a bunch, get back to "UsageStatsBrowserServiceProvider" and expand it again, you will see the value for "Exported" displayed as "No".

I think the problem is somewhere in how tha Adapter for this particular RecyclerView is handled, maybe diffing is not working somehow, or items get confused and it caches a value from another item.

Build failed. Keystore properties not found

I want to compile this app and I get the error Error:(8, 0) C:\Users\MyUserName\StudioProjects\AndroidApkAnalyzer-master\keystore.properties (The system cannot find the file specified) <a href="openFile:C:\Users\Naruto\StudioProjects\AndroidApkAnalyzer-master\app\build.gradle">Open File</a>

Google doesn't help for some reason.

Thanks!

Install apk?

When I have an apk open for analysis, is there a way to install it? If not, it would be great for the bottom-right dot menu to have an install option.

I ended up opening the apk in another tool, and when I selected it's install option, your ApkAnalyzer was offered as an option. So maybe it's possible, but doesn't have a ui?

Selected Category Changed On Rotating The Screen

Expected behavior

The selected option should retain on changing the screen orientation of the app and should show the apps of the selected category on both the screen orientations.

Actual behavior

But on changing the orientation of the screen the selected category is changed to "all apps" no matter what you select in another mode.

How to reproduce

  1. Install the app from playstore.

  2. Launch the app and click on three horizontal lines on the top right corner of the app and select a category in potrait.

  3. Now change the orientation of the screen to landscape mode. Now you'll be shown all the apps irrespective of the category you selected in step 2. You can even check the catehory being changed by repeating step 2.

    App Version: 2.3.1

    Device: Samsung Galaxy J5

    Operating system: Android 6.0.1

Recording Of The Bug

Here's the video recording of the bug.

<iframe width="560" height="315" src="https://www.youtube.com/embed/RTpqQjAmrvw?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>



Posted on Utopian.io - Rewarding Open Source Contributors

Getting all Apps and it's apk paths

Hi,

I'm currently trying to write an App that lists all of my installed apps and apks paths to upload them into a vulnerability scanner. Can you tell me which class has this logic in your code?

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.