Giter Club home page Giter Club logo

android-sdk's Introduction

appspector

android-sdk's People

Contributors

deszip avatar dimdron avatar oleksiikhorunzhyi avatar sergeyzenchenko 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

Watchers

 avatar  avatar  avatar  avatar

android-sdk's Issues

AppSpector causes a crash after adding dependency on Flipper

I have appsepctor in a sample app and it works fine.

Then I added the dependencies for Flipper (no other flipper code was added yet) and I got a crash.

    implementation "com.appspector:android-sdk:1.+"
    debugImplementation 'com.facebook.flipper:flipper:0.23.4'
    debugImplementation 'com.facebook.soloader:soloader:0.5.1'
    releaseImplementation 'com.facebook.flipper:flipper-noop:0.23.4'
Crash:
2019-08-09 13:46:13.710 23253-23253/com.example.sample E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.sample, PID: 23253
    java.lang.BootstrapMethodError: Exception from call site #4 bootstrap method
        at okhttp3.internal.Util.<clinit>(Util.java:87)
        at okhttp3.internal.Util.skipLeadingAsciiWhitespace(Util.java:321)
        at okhttp3.HttpUrl$Builder.parse(HttpUrl.java:1313)
        at okhttp3.HttpUrl.get(HttpUrl.java:917)
        at okhttp3.CertificatePinner$Pin.<init>(CertificatePinner.java:271)
        at okhttp3.CertificatePinner$Builder.add(CertificatePinner.java:334)
        at com.appspector.sdk.AppSpector.<init>(AppSpector.java:4)
        at com.appspector.sdk.AppSpector.b(AppSpector.java:10)
        at com.appspector.sdk.AppSpector.a(AppSpector.java:3)
        at com.appspector.sdk.e.create(AppSpector.java:1)
        at com.appspector.sdk.Builder.run(Builder.java:3)
        at com.example.sample.MainActivity.onCreate(MainActivity.kt:41)
        at android.app.Activity.performCreate(Activity.java:7136)
        at android.app.Activity.performCreate(Activity.java:7127)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6669)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

issue with appspector 1.4.4 and kotlin 1.4.x

If I run appsepector 1.4.4 with kotlin 1.4.x, studio complains with below error. FYI) appsepctor 1.4.3 has no problem.

/Users/[USER]/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.6.0/7857e365f925cfa060f941c1357cda1f8790502c/kotlin-stdlib-common-1.6.0.jar!/META-INF/kotlin-stdlib-common.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.4.1.

Suddenly, I saw this error today.

Consider adding a no-op artifact

There are a lot of libraries that can be used for debugging and they typically have a no-op artifact so you can decide to leave out the library easily where you would like to.

An example of this is leak-canary:

  debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.3'
  releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.3'

Documentation for dependencies isn't clear

The buildscript, dependencies and plugins don't mention what file they should go in. Most libraries tell you to put x in your root build.gradle and y in your app level build.gradle. This increased the overhead of me installing and using AppSpector.

Release version do not generate online session

I'm maybe not understanding the README, but:

In case when you don't want to have AppSpector SDK in your release APK use AppSpector NO-OP artifact

dependencies {
    debugImplementation "com.appspector:android-sdk:1.+"
    releaseImplementation "com.appspector:android-sdk-noop:1.+"
}

My understanding is that if I do not put this in my project, AppSpector should log in release Signed Bundle / APK?

If yes, it didn't work for me. I do create a private release and download it to my phone.
I can't see my session in online tabs but if I start a debug version with another phone, it is working fine.

Any ideas?

Couldn't create outDir

Running ./gradlew buildBetaDebug on my Android app now shows this at the very end of the logs. Any idea?

Couldn't create outDir /Users/coltonidle/Android/Projects/busGoRound/app/build/intermediates/transforms/AppspectorSDKPlugin/beta/debug/43
Couldn't create outDir /Users/coltonidle/Android/Projects/busGoRound/app/build/intermediates/transforms/AppspectorSDKPlugin/beta/debug/176
Couldn't create outDir /Users/coltonidle/Android/Projects/busGoRound/app/build/intermediates/transforms/AppspectorSDKPlugin/beta/debug/94
Couldn't create outDir /Users/coltonidle/Android/Projects/busGoRound/app/build/intermediates/transforms/AppspectorSDKPlugin/beta/debug/42
Couldn't create outDir /Users/coltonidle/Android/Projects/busGoRound/app/build/intermediates/transforms/AppspectorSDKPlugin/beta/debug/106
Couldn't create outDir /Users/coltonidle/Android/Projects/busGoRound/app/build/intermediates/transforms/AppspectorSDKPlugin/beta/debug/60
Couldn't create outDir /Users/coltonidle/Android/Projects/busGoRound/app/build/intermediates/transforms/AppspectorSDKPlugin/beta/debug/181

... +200 more lines

This doesn't seem to actually break anything, but I figured I would flag it.

Session doesn't start in Google Play Console's Internal testing build

Hi! We have used Firebase for a long time to test our .apks, but now we are moving to Firebase .aab testing, which uses Play Console's Internal testing to distribute builds. I saw in one of the closed issues that you don't allow starting sessions in applications from Play Market.
Any suggestions/workarounds on this case? Our QA's are struggling since AppSpector stopped working.
Please let me know if you need any additional info

Confuse DOC's on implementation.

Hello,

I'm new on mobile development and the explanation how to INITIALIZE APPSPECTOR SDK is not obvious to me, srry guys XD

Can someone explain me where should I put the INITIALIZE APPSPECTOR SDK code?

It seems to me that I have to create a file, but...

  • where should I put this file?
  • should I place all the code within the app level build.gradle?

Sorry for my noobness ^^

Thanks!

Build failed

Could you check please the following issue:

Android Studio logs:

Caused by: com.android.builder.dexing.DexArchiveBuilderException: Failed to process ...\build\intermediates\transforms\AppspectorSDKPlugin\debug\148

Caused by: com.android.tools.r8.utils.AbortException: Error: ...\build\intermediates\transforms\AppspectorSDKPlugin\debug\148\module-info.class, Illegal class file: Class module-info is missing a super type. Class file version 53.

AppSpector version is 1.1.5
AndroidStudio version is 3.4.2

Also don't work for 1.1.2 AppSpector version

Android 12 support

Hi!

In our project we are using the latest version of AppSpector SDK (1.4.3) and after upgrading some devices to Android 12 we stopped seeing sessions in AppSpector web app.

When we can expect support for Android 12? Are there any temporary workarounds that will allow us using AppSpector?

Proguard rules

Hello, what are the recommended proguard rules for your SDK? Because it does not work out of the box, it throws lot of warnings like

Warning: com.appspector.sdk.instrumentation.OkHttp2Instrument$CallWrapper: can't find superclass or interface com.squareup.okhttp.Call
Warning: com.appspector.sdk.instrumentation.OkHttp2Instrument$CallbackWrapper: can't find superclass or interface com.squareup.okhttp.Callback
Warning: com.appspector.sdk.core.connection.socket.TLSSocketFactory: can't find referenced class com.squareup.okhttp.TlsVersion
Warning: com.appspector.sdk.core.connection.socket.TLSSocketFactory: can't find referenced class com.squareup.okhttp.TlsVersion
Warning: com.appspector.sdk.core.connection.socket.TLSSocketFactory: can't find referenced class com.squareup.okhttp.TlsVersion
Warning: com.appspector.sdk.instrumentation.OkHttp2Instrument: can't find referenced class com.squareup.okhttp.OkHttpClient
Warning: com.appspector.sdk.instrumentation.OkHttp2Instrument: can't find referenced class com.squareup.okhttp.OkHttpClient

however If I suppress this warnings with

-dontwarn com.appspector.sdk.**

it then crashes at runtime on

 java.lang.InternalError: Thread starting during runtime shutdown
        at java.lang.Thread.nativeCreate(Native Method)
        at java.lang.Thread.start(Thread.java:730)
        at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:941)
        at java.util.concurrent.ThreadPoolExecutor.processWorkerExit(ThreadPoolExecutor.java:1009)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1151)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
        at java.lang.Thread.run(Thread.java:761)

I even tried to keep all appspector classes but no change.

Anyway its a great tool but our testers are using proguarded app so its as close to production as possible.

Error during initialization

Hi, I have a problem with the library integration, I'm going to run the library for the first time but blocks my application and closes it.

2018-10-08 11:06:22.496 13270-13270/com.civico.app.beta E/AndroidRuntime: at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) 2018-10-08 11:06:22.496 13270-13270/com.civico.app.beta E/AndroidRuntime: at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.appspector.sdk.instrumentation.SQLiteInstrument.execSQL(SQLiteInstrument.java:259) at com.pushwoosh.internal.network.g.onCreate(Unknown Source:29) at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:294) at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:194) at com.pushwoosh.internal.network.g.a(Unknown Source:8) at com.pushwoosh.NetworkReceiver.onReceive(Unknown Source:33) at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$-android_app_LoadedApk$ReceiverDispatcher$Args_52166(LoadedApk.java:1317) at android.app.-$Lambda$FilBqgnXJrN9Mgyks1XHeAxzSTk.$m$0(Unknown Source:4) at android.app.-$Lambda$FilBqgnXJrN9Mgyks1XHeAxzSTk.run(Unknown Source:0) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6938) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

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.