JesusFreke / smalidea

smalidea is a smali language plugin for IntelliJ IDEA
Other
655 stars 91 forks source link

Readme tutorial ("Debugging an application") not completely understandable #21

Open JustMyGithub opened 2 years ago

JustMyGithub commented 2 years ago

I understand that this section was written for Android Studio 3.2, not for the current version. I tried to follow but it was hardly possible. to improve user experience of others some suggestions/additions for the readme

step 1: "baksmali" is to be used. If I use C:\Program Files\Android\Android Studio\plugins\android\lib\baksmali-2.2.4.jar like that I get "no main manifest attribut" error. Googeling for baksmali I found https://github.com/JesusFreke/smali. The latest release there is baksmali-2.0b6.jar - this does not have the "main missing in manifest"-issue, but it seems to work not on .apk, but on .dex (extracted from an apk, probably). finally I stumbled across https://bitbucket.org/JesusFreke/smali/downloads/ where version 2.5.2 can be found and this version works. Later I noticed that readme.md of github.com/JesusFreke/smali references the bitbucked. I think it would be good to mention the bitbucked in the smalidea readme and to create a pseudo-github-release or update the description of the last github-release to mention that newer und upcomming updates will be available in the bitbucket (and not as github-releases)

step 2: does not specify the directory (~/projects/myapp). Furthermore, there is only "Open" not "Open an existing Android Studio project" setp 3: "Once the project has been created" - this is confusing. step 2 says, we just open an existing project, now you say we created one?! step 4: android:debuggable="true" in the manifest is a parameter of the <application - XML-Tag in the Manifest. I think this should be mentioned before step 1, because if this is not set already then one needs to change the apk and extract the changed apk in step 1 again step 8: new "Remote" debug configuration seems to be called "Remote JVM Debug" (now). If I debug, in Android studio in the "Debugger" tag in the "debug" section I do only see "Connecting to the target VM, address: 'localhost:8700', transport: 'socket'" - not "connected". Breakpoints do not seem to work either.

Run -> "Attach debugger to Android proceess" works and it does not need the adb forward part.

RankoR commented 2 years ago

Thanks @JustMyGithub! Tutorial didn't work for me, but simple «Attach debugger…» worked as charm!