Coder Social home page Coder Social logo

maxieds / chameleonminilivedebugger Goto Github PK

View Code? Open in Web Editor NEW
91.0 10.0 16.0 47.64 MB

Live logger and GUI tool for the Chameleon Mini developed for Android OS in Java.

License: GNU General Public License v3.0

Java 95.52% ANTLR 3.31% Shell 1.17%
security-tools rev board logger reconnaissance nfc-debugging chameleon-mini card-emulation android apdu-commands

chameleonminilivedebugger's People

Contributors

maxieds 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chameleonminilivedebugger's Issues

Debug moto E6SMART phone

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Crash Report: CMLD 1.2.9-free running P615XXU3BTI3 [SDK 29] on device samsung gta4xleea SM-P615

@maxieds:

Crash data summary:

  • [Ljava.lang.String;@94825bf: [Ljava.lang.String;@ff2748c
  • [Ljava.lang.String;@94825bf: [Ljava.lang.String;@ff2748c
  • [Ljava.lang.String;@94825bf: [Ljava.lang.String;@ff2748c
  • [Ljava.lang.String;@94825bf: [Ljava.lang.String;@ff2748c
  • [Ljava.lang.String;@94825bf: [Ljava.lang.String;@ff2748c
  • [Ljava.lang.String;@94825bf: [Ljava.lang.String;@ff2748c
  • [Ljava.lang.String;@94825bf: [Ljava.lang.String;@ff2748c
  • [Ljava.lang.String;@94825bf: [Ljava.lang.String;@ff2748c
  • [Ljava.lang.String;@94825bf: [Ljava.lang.String;@ff2748c
  • [Ljava.lang.String;@94825bf: [Ljava.lang.String;@ff2748c
  • [Ljava.lang.String;@94825bf: [Ljava.lang.String;@ff2748c
  • [Ljava.lang.String;@94825bf: [Ljava.lang.String;@ff2748c
  • [Ljava.lang.String;@94825bf: [Ljava.lang.String;@ff2748c
  • [Ljava.lang.String;@94825bf: [Ljava.lang.String;@ff2748c
  • [Ljava.lang.String;@94825bf: [Ljava.lang.String;@ff2748c
  • [Ljava.lang.String;@94825bf: [Ljava.lang.String;@ff2748c
  • [Ljava.lang.String;@94825bf: [Ljava.lang.String;@ff2748c
  • [Ljava.lang.String;@94825bf: [Ljava.lang.String;@ff2748c
    Stack trace:
    " + "```java
    ScrollView can host only one direct child

L01| android.widget.ScrollView.
addView( ScrollView.java:581 )
L02| com.maxieds.chameleonminilivedebugger.b0.
g( UITabUtils.java:34 )
L03| com.maxieds.chameleonminilivedebugger.b0.
f( UITabUtils.java:3 )
L04| com.maxieds.chameleonminilivedebugger.x$a.
b( TabFragment.java:10 )
L05| com.maxieds.chameleonminilivedebugger.x$a.
f( TabFragment.java:6 )
L06| com.maxieds.chameleonminilivedebugger.x$a$b.
onClick( TabFragment.java:1 )
L07| android.view.View.
performClick( View.java:7862 )
L08| android.widget.TextView.
performClick( TextView.java:15004 )
L09| android.view.View.
performClickInternal( View.java:7831 )
L10| android.view.View.access$3600( View.java:879 )
L11| android.view.View$PerformClick.
run( View.java:29359 )
L12| android.os.Handler.
handleCallback( Handler.java:883 )
L13| android.os.Handler.
dispatchMessage( Handler.java:100 )
L14| android.os.Looper.
loop( Looper.java:237 )
L15| android.app.ActivityThread.
main( ActivityThread.java:8167 )
L16| java.lang.reflect.Method.invoke( Native Method )
L17| com.android.internal.os.RuntimeInit$MethodAndArgsCaller.
run( RuntimeInit.java:496 )
L18| com.android.internal.os.ZygoteInit.
main( ZygoteInit.java:1100 )

**Additional comments:**

*NONE*

Fix

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

New Feature Requests

Here are some features I want to add:

  • Better APDU command recognition (To a certain extent)
  • Ability to download a log binary file from the device (LOGDOWNLOAD) using a XModem connection and display it as though it were a live log
  • Query the device for its current settings of the peripherals (working on this now)
  • Search functionality (byte strings and ascii)
  • Compute entropy of a frame (i.e., should it be a command, or more likely encrypted data?)
  • fix the blank tabs bug when it reloads on USB intent / device gets plugged in
  • Export DUMP_MFU to binary file (TODO later)
  • Upload a new card profile with XModem

How to use misc configuration (advanced Chameleon shell) v0.1.9

@maxieds
How to use the advanced settings under misc configuration ?
For example if I select SETTING=
Need I to use the input field above? But both doesn’t give me a change of the slot.

I get error: Command formatting error: the input user bytes are invalid or not of the correct length

Maybe I miss something...

Crash Report (CMLD 1.3.6-free): Neither user 10364 nor current process has android.permission.BLUETOOTH_ADMIN. [Android 10, SDK 29]

@maxieds:

Crash data summary:

  • CMLD Version: v1.3.6-free (8178:98)
  • CMLD GitHub Commit: 9eec3d4 @ Thu Apr 29 13:50:12 2021 -0400
  • CMLD Build Date: 2021-04-29-135246
  • Chameleon Type:
  • Serial Connection Type: NULL
  • Chameleon Config: NOT SET
  • Chameleon Logmode: NOT SET
  • Chameleon Timeout: NOT SET
  • Android Device: HWMAR
  • Android Manufacturer: HUAWEI
  • Android Brand: HUAWEI
  • Android Product: MAR-LX1AEEA
  • Android Model: MAR-LX1A
  • Android Hardware: kirin710
  • Android SDK: 29
  • Android OS Release: HUAWEI/MAR-LX1AEEA/HWMAR:10/HUAWEIMAR-L21A/10.0.0.233C431:user/release-keys 10 (REL / 10.0.0.275C431)
  • Android Board: MAR
  • Android Type: user

Stack trace:




Detailed Stack Trace:
java.lang.SecurityException: Need BLUETOOTH ADMIN permission: Neither user 10364 nor current process has android.permission.BLUETOOTH_ADMIN.
	at android.os.Parcel.
     createException( Parcel.java:2071 )
	at android.os.Parcel.
     readException( Parcel.java:2039 )
	at android.os.Parcel.
     readException( Parcel.java:1987 )
	at android.bluetooth.IBluetooth$Stub$Proxy.
     cancelDiscovery( IBluetooth.java:2187 )
	at android.bluetooth.BluetoothAdapter.
     cancelDiscovery( BluetoothAdapter.java:1680 )
	at com.maxieds.chameleonminilivedebugger.e.
     r( BluetoothGattConnector.java:2 )
	at com.maxieds.chameleonminilivedebugger.f.
     s( BluetoothSerialInterface.java:1 )
	at com.maxieds.chameleonminilivedebugger.n.
     d( ChameleonSettings.java:2 )
	at com.maxieds.chameleonminilivedebugger.c0$a.
     onClick( UITabUtils.java:3 )
	at android.view.View.
     performClick( View.java:7192 )
	at android.view.View.
     performClickInternal( View.java:7166 )
	at android.view.View.access$3500( View.java:824 )
	at android.view.View$PerformClick.
     run( View.java:27592 )
	at android.os.Handler.
     handleCallback( Handler.java:888 )
	at android.os.Handler.
     dispatchMessage( Handler.java:100 )
	at android.os.Looper.
     loop( Looper.java:213 )
	at android.app.ActivityThread.
     main( ActivityThread.java:8178 )
	at java.lang.reflect.Method.invoke( Native Method )
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.
     run( RuntimeInit.java:513 )
	at com.android.internal.os.ZygoteInit.
     main( ZygoteInit.java:1101 )

Additional comments:
NONE -- Please fill in more details about how you generated this error, like what actions you took before this screen is displayed. Did the error happen on launch of the application? Did you click a button or switch tabs? Any extra details about how the error happened are useful to fixing the issue in future releases.

Crash Report: CMLD 1.3.2-free running samsung/beyond2qltesq/beyond2q:10/QP1A.190711.020/G975USQU4ETH7:user/release-keys G975USQS4ETK2 [SDK 29] on device samsung beyond2qltesq SM-G975U

@maxieds:

Crash data summary:

  • [Ljava.lang.String;@aa9fd38: [Ljava.lang.String;@6d81111
  • [Ljava.lang.String;@aa9fd38: [Ljava.lang.String;@6d81111
  • [Ljava.lang.String;@aa9fd38: [Ljava.lang.String;@6d81111
  • [Ljava.lang.String;@aa9fd38: [Ljava.lang.String;@6d81111
  • [Ljava.lang.String;@aa9fd38: [Ljava.lang.String;@6d81111
  • [Ljava.lang.String;@aa9fd38: [Ljava.lang.String;@6d81111
  • [Ljava.lang.String;@aa9fd38: [Ljava.lang.String;@6d81111
  • [Ljava.lang.String;@aa9fd38: [Ljava.lang.String;@6d81111
  • [Ljava.lang.String;@aa9fd38: [Ljava.lang.String;@6d81111
  • [Ljava.lang.String;@aa9fd38: [Ljava.lang.String;@6d81111
  • [Ljava.lang.String;@aa9fd38: [Ljava.lang.String;@6d81111
  • [Ljava.lang.String;@aa9fd38: [Ljava.lang.String;@6d81111
  • [Ljava.lang.String;@aa9fd38: [Ljava.lang.String;@6d81111
  • [Ljava.lang.String;@aa9fd38: [Ljava.lang.String;@6d81111
  • [Ljava.lang.String;@aa9fd38: [Ljava.lang.String;@6d81111
  • [Ljava.lang.String;@aa9fd38: [Ljava.lang.String;@6d81111
  • [Ljava.lang.String;@aa9fd38: [Ljava.lang.String;@6d81111
  • [Ljava.lang.String;@aa9fd38: [Ljava.lang.String;@6d81111
    Stack trace:
    " + "```java
    Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener( android.view.View$OnClickListener )' on a null object reference

L01| com.maxieds.chameleonminilivedebugger.v.q.
c( ScriptingGUIMain.java:5 )
L02| com.maxieds.chameleonminilivedebugger.c0.
f( UITabUtils.java:1 )
L03| com.maxieds.chameleonminilivedebugger.c0.
g( UITabUtils.java:2 )
L04| com.maxieds.chameleonminilivedebugger.y.
f0( TabFragment.java:10 )
L05| androidx.fragment.app.Fragment.
I0( Fragment.java:4 )
L06| androidx.fragment.app.j.
R0( FragmentManagerImpl.java:70 )
L07| androidx.fragment.app.j.
O0( FragmentManagerImpl.java:9 )
L08| androidx.fragment.app.j.
P0( FragmentManagerImpl.java:7 )
L09| androidx.fragment.app.a.
r( BackStackRecord.java:25 )
L10| androidx.fragment.app.j.
n0( FragmentManagerImpl.java:6 )
L11| androidx.fragment.app.j.
o0( FragmentManagerImpl.java:14 )
L12| androidx.fragment.app.j.
Z0( FragmentManagerImpl.java:10 )
L13| androidx.fragment.app.j.
m0( FragmentManagerImpl.java:5 )
L14| androidx.fragment.app.a.
h( BackStackRecord.java:2 )
L15| androidx.fragment.app.m.
b( FragmentPagerAdapter.java:2 )
L16| androidx.viewpager.widget.ViewPager.
F( ViewPager.java:50 )
L17| androidx.viewpager.widget.ViewPager.
E( ViewPager.java:1 )
L18| androidx.viewpager.widget.ViewPager.
onMeasure( ViewPager.java:25 )
L19| android.view.View.
measure( View.java:26411 )
L20| android.view.ViewGroup.
measureChildWithMargins( ViewGroup.java:7845 )
L21| android.widget.LinearLayout.
measureChildBeforeLayout( LinearLayout.java:1552 )
L22| android.widget.LinearLayout.
measureVertical( LinearLayout.java:842 )
L23| android.widget.LinearLayout.
onMeasure( LinearLayout.java:721 )
L24| android.view.View.
measure( View.java:26411 )
L25| android.view.ViewGroup.
measureChildWithMargins( ViewGroup.java:7845 )
L26| android.widget.LinearLayout.
measureChildBeforeLayout( LinearLayout.java:1552 )
L27| android.widget.LinearLayout.
measureVertical( LinearLayout.java:842 )
L28| android.widget.LinearLayout.
onMeasure( LinearLayout.java:721 )
L29| android.view.View.
measure( View.java:26411 )
L30| android.view.ViewGroup.
measureChildWithMargins( ViewGroup.java:7845 )
L31| android.widget.FrameLayout.
onMeasure( FrameLayout.java:194 )
L32| androidx.appcompat.widget.ContentFrameLayout.
onMeasure( ContentFrameLayout.java:21 )
L33| android.view.View.
measure( View.java:26411 )
L34| android.view.ViewGroup.
measureChildWithMargins( ViewGroup.java:7845 )
L35| android.widget.LinearLayout.
measureChildBeforeLayout( LinearLayout.java:1552 )
L36| android.widget.LinearLayout.
measureVertical( LinearLayout.java:842 )
L37| android.widget.LinearLayout.
onMeasure( LinearLayout.java:721 )
L38| android.view.View.
measure( View.java:26411 )
L39| android.view.ViewGroup.
measureChildWithMargins( ViewGroup.java:7845 )
L40| android.widget.FrameLayout.
onMeasure( FrameLayout.java:194 )
L41| android.view.View.
measure( View.java:26411 )
L42| android.view.ViewGroup.
measureChildWithMargins( ViewGroup.java:7845 )
L43| android.widget.LinearLayout.
measureChildBeforeLayout( LinearLayout.java:1552 )
L44| android.widget.LinearLayout.
measureVertical( LinearLayout.java:842 )
L45| android.widget.LinearLayout.
onMeasure( LinearLayout.java:721 )
L46| android.view.View.
measure( View.java:26411 )
L47| android.view.ViewGroup.
measureChildWithMargins( ViewGroup.java:7845 )
L48| android.widget.FrameLayout.
onMeasure( FrameLayout.java:194 )
L49| com.android.internal.policy.DecorView.
onMeasure( DecorView.java:1050 )
L50| android.view.View.
measure( View.java:26411 )
L51| android.view.ViewRootImpl.
performMeasure( ViewRootImpl.java:3638 )
L52| android.view.ViewRootImpl.
measureHierarchy( ViewRootImpl.java:2373 )
L53| android.view.ViewRootImpl.
performTraversals( ViewRootImpl.java:2665 )
L54| android.view.ViewRootImpl.
doTraversal( ViewRootImpl.java:2225 )
L55| android.view.ViewRootImpl$TraversalRunnable.
run( ViewRootImpl.java:9126 )
L56| android.view.Choreographer$CallbackRecord.
run( Choreographer.java:999 )
L57| android.view.Choreographer.
doCallbacks( Choreographer.java:797 )
L58| android.view.Choreographer.
doFrame( Choreographer.java:732 )
L59| android.view.Choreographer$FrameDisplayEventReceiver.
run( Choreographer.java:984 )
L60| android.os.Handler.
handleCallback( Handler.java:883 )
L61| android.os.Handler.
dispatchMessage( Handler.java:100 )
L62| android.os.Looper.
loop( Looper.java:237 )
L63| android.app.ActivityThread.
main( ActivityThread.java:8167 )
L64| java.lang.reflect.Method.invoke( Native Method )
L65| com.android.internal.os.RuntimeInit$MethodAndArgsCaller.
run( RuntimeInit.java:496 )
L66| com.android.internal.os.ZygoteInit.
main( ZygoteInit.java:1100 )

**Additional comments:**

*NONE*

Crash Report (CMLD 1.3.6-paid): Neither user 10364 nor current process has android.permission.BLUETOOTH_ADMIN. [Android 10, SDK 29]

@maxieds:

Crash data summary:

  • CMLD Version: v1.3.6-paid (8178:98)
  • CMLD GitHub Commit: 9eec3d4 @ Thu Apr 29 13:50:12 2021 -0400
  • CMLD Build Date: 2021-04-29-135246
  • Chameleon Type:
  • Serial Connection Type: USB
  • Chameleon Config: NOT SET
  • Chameleon Logmode: NOT SET
  • Chameleon Timeout: NOT SET
  • Android Device: mdh50lm
  • Android Manufacturer: LGE
  • Android Brand: lge
  • Android Product: mdh50lm
  • Android Model: LM-Q730
  • Android Hardware: mdh50lm
  • Android SDK: 29
  • Android OS Release: 10 (REL / 2135112193dc1)
  • Android Board: mt6765
  • Android Type: user

Stack trace:




Detailed Stack Trace:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.maxieds.chameleonminilivedebugger.paid/com.maxieds.chameleonminilivedebugger.LiveLoggerActivity}: java.lang.SecurityException: Need BLUETOOTH ADMIN permission: Neither user 10364 nor current process has android.permission.BLUETOOTH_ADMIN.
	at android.app.ActivityThread.
     performLaunchActivity( ActivityThread.java:3323 )
	at android.app.ActivityThread.
     handleLaunchActivity( ActivityThread.java:3462 )
	at android.app.servertransaction.LaunchActivityItem.
     execute( LaunchActivityItem.java:83 )
	at android.app.servertransaction.TransactionExecutor.
     executeCallbacks( TransactionExecutor.java:135 )
	at android.app.servertransaction.TransactionExecutor.
     execute( TransactionExecutor.java:95 )
	at android.app.ActivityThread$H.
     handleMessage( ActivityThread.java:2063 )
	at android.os.Handler.
     dispatchMessage( Handler.java:107 )
	at android.os.Looper.
     loop( Looper.java:214 )
	at android.app.ActivityThread.
     main( ActivityThread.java:7615 )
	at java.lang.reflect.Method.invoke( Native Method )
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.
     run( RuntimeInit.java:492 )
	at com.android.internal.os.ZygoteInit.
     main( ZygoteInit.java:964 )
Caused by: java.lang.SecurityException: Need BLUETOOTH ADMIN permission: Neither user 10364 nor current process has android.permission.BLUETOOTH_ADMIN.
	at android.os.Parcel.
     createException( Parcel.java:2071 )
	at android.os.Parcel.
     readException( Parcel.java:2039 )
	at android.os.Parcel.
     readException( Parcel.java:1987 )
	at android.bluetooth.IBluetooth$Stub$Proxy.
     cancelDiscovery( IBluetooth.java:2473 )
	at android.bluetooth.BluetoothAdapter.
     cancelDiscovery( BluetoothAdapter.java:1909 )
	at com.maxieds.chameleonminilivedebugger.e.
     r( BluetoothGattConnector.java:2 )
	at com.maxieds.chameleonminilivedebugger.f.
     s( BluetoothSerialInterface.java:1 )
	at com.maxieds.chameleonminilivedebugger.n.
     d( ChameleonSettings.java:2 )
	at com.maxieds.chameleonminilivedebugger.LiveLoggerActivity.
     onNewIntent( LiveLoggerActivity.java:9 )
	at com.maxieds.chameleonminilivedebugger.LiveLoggerActivity.
     onCreate( LiveLoggerActivity.java:10 )
	at android.app.Activity.
     performCreate( Activity.java:7835 )
	at android.app.Activity.
     performCreate( Activity.java:7824 )
	at android.app.Instrumentation.
     callActivityOnCreate( Instrumentation.java:1307 )
	at android.app.ActivityThread.
     performLaunchActivity( ActivityThread.java:3298 )
	... 11 more



Additional comments:
NONE -- Please fill in more details about how you generated this error, like what actions you took before this screen is displayed. Did the error happen on launch of the application? Did you click a button or switch tabs? Any extra details about how the error happened are useful to fixing the issue in future releases.

Testing ChameleonMiniLiveDebugger

I’ll have done some first checks of your app.
It looks nice.
Some little things can be added:

Similar functions like in a serial terminal like this:
Bild

f.e. change settings, query actual setting, query actual config, ...
Would be great if you can add some like these functions.
(Here some example commands from my mobile terminal)

Why you only have under configure minimal peripherals only rbuttonlong and not the lbutton, lbuttonlong,...

#159

Cheers

USB device not found

Hi,

I have a OnePlus 3+ and the USB Device is not found if I connect the chameleon mini to my android phone. Is there anything I need to consider to get the app to work?

Cheers,

Wolfgang

Crash Report (CMLD 1.3.6-free): Neither user 10193 nor current process has android.permission.BLUETOOTH_ADMIN. [Android 10, SDK 29]

@maxieds:

Crash data summary:

  • CMLD Version: v1.3.6-free (8178:98)
  • CMLD GitHub Commit: 9eec3d4 @ Thu Apr 29 13:50:12 2021 -0400
  • CMLD Build Date: 2021-04-29-135246
  • Chameleon Type:
  • Serial Connection Type: NULL
  • Chameleon Config: NOT SET
  • Chameleon Logmode: NOT SET
  • Chameleon Timeout: NOT SET
  • Android Device: HWCLT
  • Android Manufacturer: HUAWEI
  • Android Brand: HUAWEI
  • Android Product: CLT-L29
  • Android Model: CLT-L29
  • Android Hardware: kirin970
  • Android SDK: 29
  • Android OS Release: 10 (REL / 10.0.0.171C432)
  • Android Board: CLT
  • Android Type: user

Stack trace:




Detailed Stack Trace:
java.lang.SecurityException: Need BLUETOOTH ADMIN permission: Neither user 10193 nor current process has android.permission.BLUETOOTH_ADMIN.
	at android.os.Parcel.
     createException( Parcel.java:2071 )
	at android.os.Parcel.
     readException( Parcel.java:2039 )
	at android.os.Parcel.
     readException( Parcel.java:1987 )
	at android.bluetooth.IBluetooth$Stub$Proxy.
     cancelDiscovery( IBluetooth.java:2187 )
	at android.bluetooth.BluetoothAdapter.
     cancelDiscovery( BluetoothAdapter.java:1678 )
	at com.maxieds.chameleonminilivedebugger.e.
     r( BluetoothGattConnector.java:2 )
	at com.maxieds.chameleonminilivedebugger.f.
     s( BluetoothSerialInterface.java:1 )
	at com.maxieds.chameleonminilivedebugger.n.
     d( ChameleonSettings.java:2 )
	at com.maxieds.chameleonminilivedebugger.c0$a.
     onClick( UITabUtils.java:3 )
	at android.view.View.
     performClick( View.java:7192 )
	at android.view.View.
     performClickInternal( View.java:7166 )
	at android.view.View.access$3500( View.java:824 )
	at android.view.View$PerformClick.
     run( View.java:27592 )
	at android.os.Handler.
     handleCallback( Handler.java:888 )
	at android.os.Handler.
     dispatchMessage( Handler.java:100 )
	at android.os.Looper.
     loop( Looper.java:213 )
	at android.app.ActivityThread.
     main( ActivityThread.java:8178 )
	at java.lang.reflect.Method.invoke( Native Method )
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.
     run( RuntimeInit.java:513 )
	at com.android.internal.os.ZygoteInit.
     main( ZygoteInit.java:1101 )

Additional comments:
NONE -- Please fill in more details about how you generated this error, like what actions you took before this screen is displayed. Did the error happen on launch of the application? Did you click a button or switch tabs? Any extra details about how the error happened are useful to fixing the issue in future releases.

V1. 2.9-Free

When the phone Freeze's the only thing that I can do is hold the power button down for about 20 to 30 sec to get a it to. Restart .

Crash Report (CMLD 1.3.6-free): onClick attribute defined on view class androidx.appcompat.widget.f [Android 10, SDK 29]

@maxieds:

Crash data summary:

  • CMLD Version: v1.3.6-free (8178:98)
  • CMLD GitHub Commit: 9eec3d4 @ Thu Apr 29 13:50:12 2021 -0400
  • CMLD Build Date: 2021-04-29-135246
  • Chameleon Type:
  • Serial Connection Type: NULL
  • Chameleon Config: NOT SET
  • Chameleon Logmode: NOT SET
  • Chameleon Timeout: NOT SET
  • Android Device: 100011886
  • Android Manufacturer: JOYAR
  • Android Brand: onn
  • Android Product: 100011886
  • Android Model: 100011886
  • Android Hardware: mt8168
  • Android SDK: 29
  • Android OS Release: onn/100011886/100011886:10/QP1A.190711.020/1595830454:user/release-keys 10 (REL / 1610472220)
  • Android Board: 100011886
  • Android Type: user

Stack trace:




Detailed Stack Trace:
java.lang.IllegalStateException: Could not find method actionButtonRestorePeripheralDefaults( View ) in a parent or ancestor Context for android:onClick attribute defined on view class androidx.appcompat.widget.f
	at androidx.appcompat.app.i$a.
     a( AppCompatViewInflater.java:10 )
	at androidx.appcompat.app.i$a.
     onClick( AppCompatViewInflater.java:2 )
	at android.view.View.
     performClick( View.java:7153 )
	at android.view.View.
     performClickInternal( View.java:7126 )
	at android.view.View.access$3500( View.java:803 )
	at android.view.View$PerformClick.
     run( View.java:27540 )
	at android.os.Handler.
     handleCallback( Handler.java:883 )
	at android.os.Handler.
     dispatchMessage( Handler.java:100 )
	at android.os.Looper.
     loop( Looper.java:214 )
	at android.app.ActivityThread.
     main( ActivityThread.java:7397 )
	at java.lang.reflect.Method.invoke( Native Method )
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.
     run( RuntimeInit.java:492 )
	at com.android.internal.os.ZygoteInit.
     main( ZygoteInit.java:980 )

Additional comments:
NONE -- Please fill in more details about how you generated this error, like what actions you took before this screen is displayed. Did the error happen on launch of the application? Did you click a button or switch tabs? Any extra details about how the error happened are useful to fixing the issue in future releases.

Crash Report (CMLD 1.3.6-paid): onClick [Android 10, SDK 29]

@maxieds:

Crash data summary:

  • CMLD Version: v1.3.6-paid (8178:98)
  • CMLD GitHub Commit: 9eec3d4 @ Thu Apr 29 13:50:12 2021 -0400
  • CMLD Build Date: 2021-04-29-135246
  • Chameleon Type: RevE Device
  • Serial Connection Type: USB
  • Chameleon Config: 200:UNKNOWN COMMAND
  • Chameleon Logmode: NONE
  • Chameleon Timeout: NA
  • Android Device: mdh50lm
  • Android Manufacturer: LGE
  • Android Brand: lge
  • Android Product: mdh50lm
  • Android Model: LM-Q730
  • Android Hardware: mdh50lm
  • Android SDK: 29
  • Android OS Release: 10 (REL / 2135112193dc1)
  • Android Board: mt6765
  • Android Type: user

Stack trace:




Detailed Stack Trace:
java.lang.IllegalStateException: Could not execute method for android:onClick
	at androidx.appcompat.app.i$a.
     onClick( AppCompatViewInflater.java:4 )
	at android.view.View.
     performClick( View.java:7288 )
	at android.view.View.
     performClickInternal( View.java:7258 )
	at android.view.View.access$4000( View.java:808 )
	at android.view.View$PerformClick.
     run( View.java:28019 )
	at android.os.Handler.
     handleCallback( Handler.java:883 )
	at android.os.Handler.
     dispatchMessage( Handler.java:100 )
	at android.os.Looper.
     loop( Looper.java:214 )
	at android.app.ActivityThread.
     main( ActivityThread.java:7615 )
	at java.lang.reflect.Method.invoke( Native Method )
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.
     run( RuntimeInit.java:492 )
	at com.android.internal.os.ZygoteInit.
     main( ZygoteInit.java:964 )
Caused by: java.lang.reflect.InvocationTargetException
	at java.lang.reflect.Method.invoke( Native Method )
	at androidx.appcompat.app.i$a.
     onClick( AppCompatViewInflater.java:3 )
	... 11 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
	at com.maxieds.chameleonminilivedebugger.g.
     e( ChameleonCommands.java:7 )
	at com.maxieds.chameleonminilivedebugger.LiveLoggerActivity.
     actionButtonUploadCard( LiveLoggerActivity.java:2 )
	... 13 more



Additional comments:
NONE -- Please fill in more details about how you generated this error, like what actions you took before this screen is displayed. Did the error happen on launch of the application? Did you click a button or switch tabs? Any extra details about how the error happened are useful to fixing the issue in future releases.

Error from Tiny and android11

Exception Message: Need BLUETOOTH ADMIN permission: Neither user 10220 nor current process has android.permission.BLUETOOTH_ADMIN.

Detailed Stack Trace:
java.lang.SecurityException: Need BLUETOOTH ADMIN permission: Neither user 10220 nor current process has android.permission.BLUETOOTH_ADMIN.
at android.os.Parcel.
createExceptionOrNull( Parcel.java:2373 )
at android.os.Parcel.
createException( Parcel.java:2357 )
at android.os.Parcel.
readException( Parcel.java:2340 )
at android.os.Parcel.
readException( Parcel.java:2282 )
at android.bluetooth.IBluetooth$Stub$Proxy.
cancelDiscovery( IBluetooth.java:2192 )
at android.bluetooth.BluetoothAdapter.
cancelDiscovery( BluetoothAdapter.java:1745 )
at com.maxieds.chameleonminilivedebugger.e.
r( BluetoothGattConnector.java:2 )
at com.maxieds.chameleonminilivedebugger.f.
s( BluetoothSerialInterface.java:1 )
at com.maxieds.chameleonminilivedebugger.n.
d( ChameleonSettings.java:2 )
at com.maxieds.chameleonminilivedebugger.c0$a.
onClick( UITabUtils.java:3 )
at android.view.View.
performClick( View.java:7448 )
at android.view.View.
performClickInternal( View.java:7425 )
at android.view.View.access$3600( View.java:810 )
at android.view.View$PerformClick.
run( View.java:28305 )
at android.os.Handler.
handleCallback( Handler.java:938 )
at android.os.Handler.
dispatchMessage( Handler.java:99 )
at android.os.Looper.
loop( Looper.java:223 )
at android.app.ActivityThread.
main( ActivityThread.java:7664 )
at java.lang.reflect.Method.invoke( Native Method )
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.
run( RuntimeInit.java:592 )
at com.android.internal.os.ZygoteInit.
main( ZygoteInit.java:947 )

Not compatible with Samsung S7 Edge (?)

I cannot install from the Play Store as the store claims that the app is "not compatible" with my phone.
What is the reason? Error on the declaration or really not compatible?

Crash Report (CMLD 1.3.4-free): Neither user 10445 nor current process has android.permission.BLUETOOTH_ADMIN. [Android 10, SDK 29]

@maxieds:

Crash data summary:

  • CMLD Version: v1.3.4-free (8176:96)
  • CMLD GitHub Commit: 1cddba7 @ Tue Jan 12 18:18:04 2021 -0500
  • CMLD Build Date: 2021-01-12-181925
  • Chameleon Type:
  • Serial Connection Type: NULL
  • Chameleon Config: NOT SET
  • Chameleon Logmode: NOT SET
  • Chameleon Timeout: NOT SET
  • Android Device: mdh50lm
  • Android Manufacturer: LGE
  • Android Brand: lge
  • Android Product: mdh50lm
  • Android Model: LM-Q730
  • Android Hardware: mdh50lm
  • Android SDK: 29
  • Android OS Release: lge/mdh50lm/mdh50lm:10/QKQ1.200216.002/2025210286ad4:user/release-keys 10 (REL / 203560701aa8a)
  • Android Board: mt6765
  • Android Type: user

Stack trace:




Detailed Stack Trace:
java.lang.SecurityException: Need BLUETOOTH ADMIN permission: Neither user 10445 nor current process has android.permission.BLUETOOTH_ADMIN.
	at android.os.Parcel.
     createException( Parcel.java:2071 )
	at android.os.Parcel.
     readException( Parcel.java:2039 )
	at android.os.Parcel.
     readException( Parcel.java:1987 )
	at android.bluetooth.IBluetooth$Stub$Proxy.
     cancelDiscovery( IBluetooth.java:2473 )
	at android.bluetooth.BluetoothAdapter.
     cancelDiscovery( BluetoothAdapter.java:1909 )
	at com.maxieds.chameleonminilivedebugger.e.
     r( BluetoothGattConnector.java:2 )
	at com.maxieds.chameleonminilivedebugger.f.
     s( BluetoothSerialInterface.java:1 )
	at com.maxieds.chameleonminilivedebugger.n.
     d( ChameleonSettings.java:2 )
	at com.maxieds.chameleonminilivedebugger.c0$p.
     onClick( UITabUtils.java:5 )
	at android.view.View.
     performClick( View.java:7288 )
	at android.widget.CompoundButton.
     performClick( CompoundButton.java:142 )
	at android.view.View.
     performClickInternal( View.java:7258 )
	at android.view.View.access$4000( View.java:808 )
	at android.view.View$PerformClick.
     run( View.java:28019 )
	at android.os.Handler.
     handleCallback( Handler.java:883 )
	at android.os.Handler.
     dispatchMessage( Handler.java:100 )
	at android.os.Looper.
     loop( Looper.java:214 )
	at android.app.ActivityThread.
     main( ActivityThread.java:7615 )
	at java.lang.reflect.Method.invoke( Native Method )
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.
     run( RuntimeInit.java:492 )
	at com.android.internal.os.ZygoteInit.
     main( ZygoteInit.java:964 )

Additional comments:
NONE -- Please fill in more details about how you generated this error, like what actions you took before this screen is displayed. Did the error happen on launch of the application? Did you click a button or switch tabs? Any extra details about how the error happened are useful to fixing the issue in" future releases.

Just changing one of the options in the ap's settings, and when I clicked on the box so a check can appear, a trace report began to print.

Crash Report (CMLD 1.3.6-free): Neither user 10193 nor current process has android.permission.BLUETOOTH_ADMIN. [Android 10, SDK 29]

@maxieds:

Crash data summary:

  • CMLD Version: v1.3.6-free (8178:98)
  • CMLD GitHub Commit: 9eec3d4 @ Thu Apr 29 13:50:12 2021 -0400
  • CMLD Build Date: 2021-04-29-135246
  • Chameleon Type:
  • Serial Connection Type: NULL
  • Chameleon Config: NOT SET
  • Chameleon Logmode: NOT SET
  • Chameleon Timeout: NOT SET
  • Android Device: HWCLT
  • Android Manufacturer: HUAWEI
  • Android Brand: HUAWEI
  • Android Product: CLT-L29
  • Android Model: CLT-L29
  • Android Hardware: kirin970
  • Android SDK: 29
  • Android OS Release: 10 (REL / 10.0.0.171C432)
  • Android Board: CLT
  • Android Type: user

Stack trace:




Detailed Stack Trace:
java.lang.SecurityException: Need BLUETOOTH ADMIN permission: Neither user 10193 nor current process has android.permission.BLUETOOTH_ADMIN.
	at android.os.Parcel.
     createException( Parcel.java:2071 )
	at android.os.Parcel.
     readException( Parcel.java:2039 )
	at android.os.Parcel.
     readException( Parcel.java:1987 )
	at android.bluetooth.IBluetooth$Stub$Proxy.
     cancelDiscovery( IBluetooth.java:2187 )
	at android.bluetooth.BluetoothAdapter.
     cancelDiscovery( BluetoothAdapter.java:1678 )
	at com.maxieds.chameleonminilivedebugger.e.
     r( BluetoothGattConnector.java:2 )
	at com.maxieds.chameleonminilivedebugger.f.
     s( BluetoothSerialInterface.java:1 )
	at com.maxieds.chameleonminilivedebugger.n.
     d( ChameleonSettings.java:2 )
	at com.maxieds.chameleonminilivedebugger.c0$a.
     onClick( UITabUtils.java:3 )
	at android.view.View.
     performClick( View.java:7192 )
	at android.view.View.
     performClickInternal( View.java:7166 )
	at android.view.View.access$3500( View.java:824 )
	at android.view.View$PerformClick.
     run( View.java:27592 )
	at android.os.Handler.
     handleCallback( Handler.java:888 )
	at android.os.Handler.
     dispatchMessage( Handler.java:100 )
	at android.os.Looper.
     loop( Looper.java:213 )
	at android.app.ActivityThread.
     main( ActivityThread.java:8178 )
	at java.lang.reflect.Method.invoke( Native Method )
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.
     run( RuntimeInit.java:513 )
	at com.android.internal.os.ZygoteInit.
     main( ZygoteInit.java:1101 )

Additional comments:
NONE -- Please fill in more details about how you generated this error, like what actions you took before this screen is displayed. Did the error happen on launch of the application? Did you click a button or switch tabs? Any extra details about how the error happened are useful to fixing the issue in future releases.

Unconfigured red button(power on) it can’t power on

Hi everyone. I recently bought chameleon mini rev E on aliexpress.
Before that I installed this apk, (v: 0.5.3-free) I could power on with the red button, but after i installed and i modified the buttons with this configuration:
Red led: powered
Green led: ledgren
RBS: rbutton
Rbl: rbutton_long
Lbs: lbutton
Lbl: uid_right_decr
REVE: switchcard
Log: memory
—-
I upload this configuration and right now I can’t power on my chameleon, I push power on button and It power on, but when I don’t push the button it shut down.
Some help?

Crash Report (CMLD 1.3.4-free): Neither user 10357 nor current process has android.permission.BLUETOOTH_ADMIN. [Android 11, SDK 30]

@maxieds:

Crash data summary:

  • CMLD Version: v1.3.4-free (8176:96)
  • CMLD GitHub Commit: 1cddba7 @ Tue Jan 12 18:18:04 2021 -0500
  • CMLD Build Date: 2021-01-12-182437
  • Chameleon Type:
  • Serial Connection Type: NULL
  • Chameleon Config: NOT SET
  • Chameleon Logmode: NOT SET
  • Chameleon Timeout: NOT SET
  • Android Device: z3s
  • Android Manufacturer: samsung
  • Android Brand: samsung
  • Android Product: z3sxeea
  • Android Model: SM-G988B
  • Android Hardware: exynos990
  • Android SDK: 30
  • Android OS Release: 11 (REL / G988BXXU5CTKG)
  • Android Board: exynos990
  • Android Type: user

Stack trace:




Detailed Stack Trace:
java.lang.SecurityException: Need BLUETOOTH ADMIN permission: Neither user 10357 nor current process has android.permission.BLUETOOTH_ADMIN.
	at android.os.Parcel.
     createExceptionOrNull( Parcel.java:2385 )
	at android.os.Parcel.
     createException( Parcel.java:2369 )
	at android.os.Parcel.
     readException( Parcel.java:2352 )
	at android.os.Parcel.
     readException( Parcel.java:2294 )
	at android.bluetooth.IBluetooth$Stub$Proxy.
     cancelDiscovery( IBluetooth.java:3794 )
	at android.bluetooth.BluetoothAdapter.
     cancelDiscovery( BluetoothAdapter.java:2765 )
	at com.maxieds.chameleonminilivedebugger.BluetoothGattConnector.
     stopConnectingDevices( BluetoothGattConnector.java:227 )
	at com.maxieds.chameleonminilivedebugger.BluetoothSerialInterface.
     stopScanningDevices( BluetoothSerialInterface.java:204 )
	at com.maxieds.chameleonminilivedebugger.ChameleonSettings.
     stopSerialIOConnectionDiscovery( ChameleonSettings.java:77 )
	at com.maxieds.chameleonminilivedebugger.UITabUtils$5.
     onClick( UITabUtils.java:361 )
	at android.view.View.
     performClick( View.java:8178 )
	at android.widget.TextView.
     performClick( TextView.java:16104 )
	at android.widget.CompoundButton.
     performClick( CompoundButton.java:155 )
	at android.view.View.
     performClickInternal( View.java:8147 )
	at android.view.View.access$3700( View.java:888 )
	at android.view.View$PerformClick.
     run( View.java:30233 )
	at android.os.Handler.
     handleCallback( Handler.java:938 )
	at android.os.Handler.
     dispatchMessage( Handler.java:99 )
	at android.os.Looper.
     loop( Looper.java:246 )
	at android.app.ActivityThread.
     main( ActivityThread.java:8414 )
	at java.lang.reflect.Method.invoke( Native Method )
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.
     run( RuntimeInit.java:596 )
	at com.android.internal.os.ZygoteInit.
     main( ZygoteInit.java:1130 )

Additional comments:
NONE -- Please fill in more details about how you generated this error, like what actions you took before this screen is displayed. Did the error happen on launch of the application? Did you click a button or switch tabs? Any extra details about how the error happened are useful to fixing the issue in future releases.

PLAY STORE WILL NO LONGER INSTALL THE FREE VERSION OF CMLD

Unfortunately, a case of conscience has overwhelmed me. In my limited view, it is entirely hypocritical and irresponsible for me to continue to open my mouth on the one hand, and offer no action with its pair. In spite of the ~400 active users to boast on my software profile, and consistently excellent ratings of the application on their sites, I can no longer maintain something this important on that Google-based Droid installer platform in good faith.

Therefore, until further notice I am taking the free version of this application off of Play Store due to ethical concerns over the platform. I will not remove the paid version because I realize that several users have paid their hard earned money for the right to run it that way. Anyone who still wishes continue using this app should see the latest releases page and install a signed (just like it was on Play Store, sans Google re-packaging) binary of the application. Or better yet, learn to clone this repo, build from source, and install with developer options just like I do routinely in developing the application.

Crash Report (CMLD 1.3.4-free): Neither user 10818 nor current process has android.permission.BLUETOOTH_ADMIN. [Android 10, SDK 29]

@maxieds:

Crash data summary:

  • CMLD Version: v1.3.4-free (8176:96)
  • CMLD GitHub Commit: 1cddba7 @ Tue Jan 12 18:18:04 2021 -0500
  • CMLD Build Date: 2021-01-12-181925
  • Chameleon Type:
  • Serial Connection Type: NULL
  • Chameleon Config: NOT SET
  • Chameleon Logmode: NOT SET
  • Chameleon Timeout: NOT SET
  • Android Device: beyond2q
  • Android Manufacturer: samsung
  • Android Brand: samsung
  • Android Product: beyond2qltesq
  • Android Model: SM-G975U
  • Android Hardware: qcom
  • Android SDK: 29
  • Android OS Release: samsung/beyond2qltesq/beyond2q:10/QP1A.190711.020/G975USQU4ETH7:user/release-keys 10 (REL / G975USQS4ETK2)
  • Android Board: msmnile
  • Android Type: user

Stack trace:




Detailed Stack Trace:
java.lang.SecurityException: Need BLUETOOTH ADMIN permission: Neither user 10818 nor current process has android.permission.BLUETOOTH_ADMIN.
	at android.os.Parcel.
     createException( Parcel.java:2088 )
	at android.os.Parcel.
     readException( Parcel.java:2056 )
	at android.os.Parcel.
     readException( Parcel.java:2004 )
	at android.bluetooth.IBluetooth$Stub$Proxy.
     cancelDiscovery( IBluetooth.java:3575 )
	at android.bluetooth.BluetoothAdapter.
     cancelDiscovery( BluetoothAdapter.java:2684 )
	at com.maxieds.chameleonminilivedebugger.e.
     r( BluetoothGattConnector.java:2 )
	at com.maxieds.chameleonminilivedebugger.f.
     s( BluetoothSerialInterface.java:1 )
	at com.maxieds.chameleonminilivedebugger.n.
     d( ChameleonSettings.java:2 )
	at com.maxieds.chameleonminilivedebugger.c0$p.
     onClick( UITabUtils.java:5 )
	at android.view.View.
     performClick( View.java:7862 )
	at android.widget.TextView.
     performClick( TextView.java:15004 )
	at android.widget.CompoundButton.
     performClick( CompoundButton.java:152 )
	at android.view.View.
     performClickInternal( View.java:7831 )
	at android.view.View.access$3600( View.java:879 )
	at android.view.View$PerformClick.
     run( View.java:29359 )
	at android.os.Handler.
     handleCallback( Handler.java:883 )
	at android.os.Handler.
     dispatchMessage( Handler.java:100 )
	at android.os.Looper.
     loop( Looper.java:237 )
	at android.app.ActivityThread.
     main( ActivityThread.java:8167 )
	at java.lang.reflect.Method.invoke( Native Method )
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.
     run( RuntimeInit.java:496 )
	at com.android.internal.os.ZygoteInit.
     main( ZygoteInit.java:1100 )

Additional comments:
NONE -- Please fill in more details about how you generated this error, like what actions you took before this screen is displayed. Did the error happen on launch of the application? Did you click a button or switch tabs? Any extra details about how the error happened are useful to fixing the issue in future releases.

I tried checking the bluetooth box

Android HCE App Preview

Thanks to @geo-rg for sending me two new free Chameleon Mini Rev. G boards for contributing to the project. This is a preview of what I will be using these extra boards for. For the time being the HCE app repo will be private, but the aim is to get the local doors at my apartment complex which are currently opened by Desfire cards to open with my phone. This is a screenshot:

What I can get out of the local readers for right now w.r.t. communication with my Droid device is NDEF messages with session info, and a single (not very useful) APDU AID select command that gets sent through my customized HostApduService. When I respond to this APDU with a RESPONSE OK return, the connection to the Tag is abruptly cut off.

Of course I can get more information about what the reader is expecting from the card with the Chameleon Mini. Any suggestions for what to try next to initiate more communication with the reader?

Crash Report (CMLD 1.3.4-free): Neither user 10374 nor current process has android.permission.BLUETOOTH_ADMIN. [Android 10, SDK 29]

@maxieds:

Crash data summary:

  • CMLD Version: v1.3.4-free (8176:96)
  • CMLD GitHub Commit: 1cddba7 @ Tue Jan 12 18:18:04 2021 -0500
  • CMLD Build Date: 2021-01-12-181925
  • Chameleon Type:
  • Serial Connection Type: NULL
  • Chameleon Config: NOT SET
  • Chameleon Logmode: NOT SET
  • Chameleon Timeout: NOT SET
  • Android Device: OnePlus6T
  • Android Manufacturer: OnePlus
  • Android Brand: OnePlus
  • Android Product: OnePlus6T
  • Android Model: ONEPLUS A6013
  • Android Hardware: qcom
  • Android SDK: 29
  • Android OS Release: 10 (REL / 2011161919)
  • Android Board: sdm845
  • Android Type: user

Stack trace:




Detailed Stack Trace:
java.lang.SecurityException: Need BLUETOOTH ADMIN permission: Neither user 10374 nor current process has android.permission.BLUETOOTH_ADMIN.
	at android.os.Parcel.
     createException( Parcel.java:2071 )
	at android.os.Parcel.
     readException( Parcel.java:2039 )
	at android.os.Parcel.
     readException( Parcel.java:1987 )
	at android.bluetooth.IBluetooth$Stub$Proxy.
     cancelDiscovery( IBluetooth.java:2289 )
	at android.bluetooth.BluetoothAdapter.
     cancelDiscovery( BluetoothAdapter.java:1709 )
	at com.maxieds.chameleonminilivedebugger.e.
     r( BluetoothGattConnector.java:2 )
	at com.maxieds.chameleonminilivedebugger.f.
     s( BluetoothSerialInterface.java:1 )
	at com.maxieds.chameleonminilivedebugger.n.
     d( ChameleonSettings.java:2 )
	at com.maxieds.chameleonminilivedebugger.c0$p.
     onClick( UITabUtils.java:5 )
	at android.view.View.
     performClick( View.java:7201 )
	at android.widget.CompoundButton.
     performClick( CompoundButton.java:142 )
	at android.view.View.
     performClickInternal( View.java:7170 )
	at android.view.View.access$3500( View.java:806 )
	at android.view.View$PerformClick.
     run( View.java:27562 )
	at android.os.Handler.
     handleCallback( Handler.java:883 )
	at android.os.Handler.
     dispatchMessage( Handler.java:100 )
	at android.os.Looper.
     loop( Looper.java:214 )
	at android.app.ActivityThread.
     main( ActivityThread.java:7682 )
	at java.lang.reflect.Method.invoke( Native Method )
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.
     run( RuntimeInit.java:516 )
	at com.android.internal.os.ZygoteInit.
     main( ZygoteInit.java:950 )

Additional comments:
NONE -- Please fill in more details about how you generated this error, like what actions you took before this screen is displayed. Did the error happen on launch of the application? Did you click a button or switch tabs? Any extra details about how the error happened are useful to fixing the issue in future releases.

Crash Report (CMLD 1.3.6-free): Neither user 10395 nor current process has android.permission.BLUETOOTH_ADMIN. [Android 11, SDK 30]

@maxieds:

Crash data summary:

  • CMLD Version: v1.3.6-free (8178:98)
  • CMLD GitHub Commit: 9eec3d4 @ Thu Apr 29 13:50:12 2021 -0400
  • CMLD Build Date: 2021-04-29-135246
  • Chameleon Type:
  • Serial Connection Type: NULL
  • Chameleon Config: NOT SET
  • Chameleon Logmode: NOT SET
  • Chameleon Timeout: NOT SET
  • Android Device: a32x
  • Android Manufacturer: samsung
  • Android Brand: samsung
  • Android Product: a32xsq
  • Android Model: SM-A326U
  • Android Hardware: mt6853
  • Android SDK: 30
  • Android OS Release: 11 (REL / A326USQU4AUH3)
  • Android Board: k6853v1_64_titan
  • Android Type: user

Stack trace:




Detailed Stack Trace:
java.lang.SecurityException: Need BLUETOOTH ADMIN permission: Neither user 10395 nor current process has android.permission.BLUETOOTH_ADMIN.
	at android.os.Parcel.
     createExceptionOrNull( Parcel.java:2385 )
	at android.os.Parcel.
     createException( Parcel.java:2369 )
	at android.os.Parcel.
     readException( Parcel.java:2352 )
	at android.os.Parcel.
     readException( Parcel.java:2294 )
	at android.bluetooth.IBluetooth$Stub$Proxy.
     cancelDiscovery( IBluetooth.java:3933 )
	at android.bluetooth.BluetoothAdapter.
     cancelDiscovery( BluetoothAdapter.java:2807 )
	at com.maxieds.chameleonminilivedebugger.e.
     r( BluetoothGattConnector.java:2 )
	at com.maxieds.chameleonminilivedebugger.f.
     s( BluetoothSerialInterface.java:1 )
	at com.maxieds.chameleonminilivedebugger.n.
     d( ChameleonSettings.java:2 )
	at com.maxieds.chameleonminilivedebugger.c0$a.
     onClick( UITabUtils.java:3 )
	at android.view.View.
     performClick( View.java:8160 )
	at android.widget.TextView.
     performClick( TextView.java:16222 )
	at android.view.View.
     performClickInternal( View.java:8137 )
	at android.view.View.access$3700( View.java:888 )
	at android.view.View$PerformClick.
     run( View.java:30236 )
	at android.os.Handler.
     handleCallback( Handler.java:938 )
	at android.os.Handler.
     dispatchMessage( Handler.java:99 )
	at android.os.Looper.
     loop( Looper.java:246 )
	at android.app.ActivityThread.
     main( ActivityThread.java:8595 )
	at java.lang.reflect.Method.invoke( Native Method )
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.
     run( RuntimeInit.java:602 )
	at com.android.internal.os.ZygoteInit.
     main( ZygoteInit.java:1130 )

Additional comments:
NONE -- Please fill in more details about how you generated this error, like what actions you took before this screen is displayed. Did the error happen on launch of the application? Did you click a button or switch tabs? Any extra details about how the error happened are useful to fixing the issue in future releases.

Crash Report (CMLD 1.3.6-free): onClick attribute defined on view class androidx.appcompat.widget.f [Android 12, SDK 31]

@maxieds:
The ogger used ond Galaxy s20 android 12

Crash data summary:

  • CMLD Version: v1.3.6-free (8178:98)
  • CMLD GitHub Commit: 9eec3d4 @ Thu Apr 29 13:50:12 2021 -0400
  • CMLD Build Date: 2021-04-29-135246
  • Chameleon Type: KAOS RevG Device
  • Serial Connection Type: USB
  • Chameleon Config: MF_DESFIRE
  • Chameleon Logmode: LIVE
  • Chameleon Timeout: 5000 ms
  • Android Device: p3s
  • Android Manufacturer: samsung
  • Android Brand: samsung
  • Android Product: p3sxeea
  • Android Model: SM-G998B
  • Android Hardware: exynos2100
  • Android SDK: 31
  • Android OS Release: samsung/p3sxeea/p3s:12/SP1A.210812.016/G998BXXU3BUKG:user/release-keys 12 (REL / G998BXXS3BUL1)
  • Android Board: exynos2100
  • Android Type: user

Stack trace:




Detailed Stack Trace:
java.lang.IllegalStateException: Could not find method actionButtonRestorePeripheralDefaults( View ) in a parent or ancestor Context for android:onClick attribute defined on view class androidx.appcompat.widget.f
	at androidx.appcompat.app.i$a.
     a( AppCompatViewInflater.java:10 )
	at androidx.appcompat.app.i$a.
     onClick( AppCompatViewInflater.java:2 )
	at android.view.View.
     performClick( View.java:7792 )
	at android.widget.TextView.
     performClick( TextView.java:16045 )
	at android.view.View.
     performClickInternal( View.java:7769 )
	at android.view.View.access$3800( View.java:910 )
	at android.view.View$PerformClick.
     run( View.java:30184 )
	at android.os.Handler.
     handleCallback( Handler.java:938 )
	at android.os.Handler.
     dispatchMessage( Handler.java:99 )
	at android.os.Looper.
     loopOnce( Looper.java:226 )
	at android.os.Looper.
     loop( Looper.java:313 )
	at android.app.ActivityThread.
     main( ActivityThread.java:8582 )
	at java.lang.reflect.Method.invoke( Native Method )
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.
     run( RuntimeInit.java:563 )
	at com.android.internal.os.ZygoteInit.
     main( ZygoteInit.java:1133 )

Additional comments:
NONE -- Please fill in more details about how you generated this error, like what actions you took before this screen is displayed. Did the error happen on launch of the application? Did you click a button or switch tabs? Any extra details about how the error happened are useful to fixing the issue in future releases.

Crash Report (CMLD 1.3.4-free): Neither user 10278 nor current process has android.permission.BLUETOOTH_ADMIN. [Android 10, SDK 29]

@maxieds:

Crash data summary:

  • CMLD Version: v1.3.4-free (8176:96)
  • CMLD GitHub Commit: 1cddba7 @ Tue Jan 12 18:18:04 2021 -0500
  • CMLD Build Date: 2021-01-12-181925
  • Chameleon Type:
  • Serial Connection Type: NULL
  • Chameleon Config: NOT SET
  • Chameleon Logmode: NOT SET
  • Chameleon Timeout: NOT SET
  • Android Device: OnePlus7Pro
  • Android Manufacturer: OnePlus
  • Android Brand: OnePlus
  • Android Product: OnePlus7Pro
  • Android Model: GM1917
  • Android Hardware: qcom
  • Android SDK: 29
  • Android OS Release: 10 (REL / 1911070200)
  • Android Board: msmnile
  • Android Type: user

Stack trace:




Detailed Stack Trace:
java.lang.SecurityException: Need BLUETOOTH ADMIN permission: Neither user 10278 nor current process has android.permission.BLUETOOTH_ADMIN.
	at android.os.Parcel.
     createException( Parcel.java:2071 )
	at android.os.Parcel.
     readException( Parcel.java:2039 )
	at android.os.Parcel.
     readException( Parcel.java:1987 )
	at android.bluetooth.IBluetooth$Stub$Proxy.
     cancelDiscovery( IBluetooth.java:2289 )
	at android.bluetooth.BluetoothAdapter.
     cancelDiscovery( BluetoothAdapter.java:1709 )
	at com.maxieds.chameleonminilivedebugger.e.
     r( BluetoothGattConnector.java:2 )
	at com.maxieds.chameleonminilivedebugger.f.
     s( BluetoothSerialInterface.java:1 )
	at com.maxieds.chameleonminilivedebugger.n.
     d( ChameleonSettings.java:2 )
	at com.maxieds.chameleonminilivedebugger.c0$a.
     onClick( UITabUtils.java:3 )
	at android.view.View.
     performClick( View.java:7201 )
	at android.view.View.
     performClickInternal( View.java:7170 )
	at android.view.View.access$3500( View.java:806 )
	at android.view.View$PerformClick.
     run( View.java:27562 )
	at android.os.Handler.
     handleCallback( Handler.java:883 )
	at android.os.Handler.
     dispatchMessage( Handler.java:100 )
	at android.os.Looper.
     loop( Looper.java:214 )
	at android.app.ActivityThread.
     main( ActivityThread.java:7682 )
	at java.lang.reflect.Method.invoke( Native Method )
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.
     run( RuntimeInit.java:516 )
	at com.android.internal.os.ZygoteInit.
     main( ZygoteInit.java:950 )

Additional comments:
NONE -- Please fill in more details about how you generated this error, like what actions you took before this screen is displayed. Did the error happen on launch of the application? Did you click a button or switch tabs? Any extra details about how the error happened are useful to fixing the issue in future releases.

The first error got thrown when I tried to allow bluetooth connections from the app. Then I tried to connect my Chameleon Mini Rev G with a cable and the same error got thrown. I see someone else had a similar issue.

Themes

There are now themed versions of the app available. The functionality is identical, but now the user can pick their favorite color combination styling from the repo APK's. Note that the Play Store version will remain just the stock green "main" release. Screenshots below:




Now approximately one color theme for each color profile of the mini. Debug in style!

Compiling with Android Studio: CreateProcess error=2

I downloaded the project and load it to Android Studio. It says CreateProcess error=2 after Sync Project with Gradle Files. It hints that code:

def getShellCommandOutput(String shellCmd) {
    def cmdResult = ['bash', '-c', shellCmd].execute();
    cmdResult.waitFor();
    return cmdResult.text[0..-2];
}

has the error: CreateProcess error=2
Is there any solution for this error message?

Concerned with tampered APK sources on Play Store (1.1.6-free)

In light of today's spirit debate with a few men of feebler mind (so to speak), but l33t hacking skills as it were (see here and here), I am concerned about the following new permission that showed up in v1.1.6-free of this app on Play Store today:

<?xml version="1.0" encoding="UTF-8"?><manifest versionCode="78" versionName="1.1.6-free" installLocation="2" compileSdkVersion="29" compileSdkVersionCodename="10" package="com.maxieds.chameleonminilivedebugger" platformBuildVersionCode="29" platformBuildVersionName="10">
  <uses-sdk minSdkVersion="26" targetSdkVersion="29"/>
  <protected-broadcast name="android.hardware.usb.action.USB_STATE"/>
  <uses-permission name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  <uses-permission name="android.permission.READ_EXTERNAL_STORAGE"/>
  <uses-permission name="android.permission.WRITE_SETTINGS"/>
  <uses-permission name="android.permission.INTERNET"/>
  <uses-permission name="android.permission.USB_PERMISSION"/>
  <uses-permission name="android.permission.BLUETOOTH"/>
  <uses-permission name="android.permission.BLUETOOTH_ADMIN"/>
  <uses-permission name="android.permission.ACCESS_COARSE_LOCATION"/>
  <uses-permission name="android.permission.ACCESS_FINE_LOCATION"/>
  <uses-feature name="android.hardware.usb.host" required="true"/>
  <uses-feature name="android.hardware.bluetooth" required="false"/>
  <uses-permission name="android.permission.READ_PHONE_STATE"/>
  <application theme="AppThemeGreen" label="Chameleon Live Logger" icon="res/mipmap-anydpi-v26/chameleon_app_icon_round.xml" manageSpaceActivity=".LiveLoggerActivity" excludeFromRecents="true" launchMode="1" description="GUI and portable logging interface for the Chameleon Mini NFC pentesting boards" noHistory="false" testOnly="false" installLocation="1" hardwareAccelerated="true" extractNativeLibs="false" usesCleartextTraffic="false" defaultToDeviceProtectedStorage="true" roundIcon="res/mipmap-anydpi-v26/chameleon_app_icon_round.xml">
    <uses-library name="com.android.future.usb.accessory"/>

I have done my best by reporting my own app to Google, submitting a developer issue to their support team on their console, and submitted a new v1.1.8-free app for rollout. Please upgrade to v1.1.8 ASAP!

com.maxieds.chameleonminilivedebugger_1.1.6-free_0_AndroidManifest.xml.txt
com.maxieds.chameleonminilivedebugger_1.1.6-free.apk.zip

REPORT

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Need better documentation for the app

Most of the functionality is pretty self-explanatory if and only if you are already very familiar with this page on the Chameleon command structure. Since the links to my app were posted on the Chameleon Getting Started page, I've gotten a couple of confused emails about installation / how to compile too.

Also, are there any other suggestions for other countries to try rollouts to on Play Store? I almost hesitate to ask this as much as I hesitate to go through and click the buttons to rollout to the 100+ choices available from the Play Store console (some cannot be selected due to US export restrictions hoewever)? Do you all think it's enough to just have it where it is now in the Play Store and link to the most recent APK's from the releases page?

Crash Report: CMLD 1.2.9-free running samsung/beyond2qltesq/beyond2q:10/QP1A.190711.020/G975USQU4ETH7:user/release-keys G975USQS4ETJ2 [SDK 29] on device samsung beyond2qltesq SM-G975U

@maxieds:

Crash data summary:

  • [Ljava.lang.String;@313e85: [Ljava.lang.String;@5e254da
  • [Ljava.lang.String;@313e85: [Ljava.lang.String;@5e254da
  • [Ljava.lang.String;@313e85: [Ljava.lang.String;@5e254da
  • [Ljava.lang.String;@313e85: [Ljava.lang.String;@5e254da
  • [Ljava.lang.String;@313e85: [Ljava.lang.String;@5e254da
  • [Ljava.lang.String;@313e85: [Ljava.lang.String;@5e254da
  • [Ljava.lang.String;@313e85: [Ljava.lang.String;@5e254da
  • [Ljava.lang.String;@313e85: [Ljava.lang.String;@5e254da
  • [Ljava.lang.String;@313e85: [Ljava.lang.String;@5e254da
  • [Ljava.lang.String;@313e85: [Ljava.lang.String;@5e254da
  • [Ljava.lang.String;@313e85: [Ljava.lang.String;@5e254da
  • [Ljava.lang.String;@313e85: [Ljava.lang.String;@5e254da
  • [Ljava.lang.String;@313e85: [Ljava.lang.String;@5e254da
  • [Ljava.lang.String;@313e85: [Ljava.lang.String;@5e254da
  • [Ljava.lang.String;@313e85: [Ljava.lang.String;@5e254da
  • [Ljava.lang.String;@313e85: [Ljava.lang.String;@5e254da
  • [Ljava.lang.String;@313e85: [Ljava.lang.String;@5e254da
  • [Ljava.lang.String;@313e85: [Ljava.lang.String;@5e254da
    Stack trace:
    " + "```java
    Could not execute method for android:onClick

L01| androidx.appcompat.app.h$a.
onClick( AppCompatViewInflater.java:4 )
L02| android.view.View.
performClick( View.java:7862 )
L03| android.widget.TextView.
performClick( TextView.java:15004 )
L04| android.view.View.
performClickInternal( View.java:7831 )
L05| android.view.View.access$3600( View.java:879 )
L06| android.view.View$PerformClick.
run( View.java:29359 )
L07| android.os.Handler.
handleCallback( Handler.java:883 )
L08| android.os.Handler.
dispatchMessage( Handler.java:100 )
L09| android.os.Looper.
loop( Looper.java:237 )
L10| android.app.ActivityThread.
main( ActivityThread.java:8167 )
L11| java.lang.reflect.Method.invoke( Native Method )
L12| com.android.internal.os.RuntimeInit$MethodAndArgsCaller.
run( RuntimeInit.java:496 )
L13| com.android.internal.os.ZygoteInit.
main( ZygoteInit.java:1100 )

**Additional comments:**

*NONE*

WIKI pages recently updated for the latest app version

The WIKI pages are now fleshed out. Please let me know if there are any missing items found in the side navigation links that need more elaboration. At some point, I will need to fill in more information about the compile-from-source (e.g., roll-your-own) install method. Anyone who wants to help me with this documentation is welcome to volunteer!

Privacy concerns for users (new policy, full disclosure here, and bits of opinionation about Google)

Google's selective policy and stance on disclosure is beyond me. The latest version of the application has remained untouched in its original binary upload on play store, but yet I have recently been issued the following non-negotiable ultimatum in my direction. It would take them longer to respond to and then subsequently deny an appeal based on my objections, so I have decided to comply with the advent of automated software that assists them in finding violations to their enormous list of policy. What's worse is that they are effectively unaccountable with respect to said policy, as digress by saying I have experienced before. The new privacy policy will be maintained on the WIKI site with this repository, will be linked on google's store, and will eventually work it's way onto your phone as an addendum to the About section in the app.

=====

I want to share with you all the email I was sent about this app (which to those unfamiliar to the Android API, requires negligible permissions as an app that actually provides more than hello world on it). Google likes to engage itself in a little subset of electronic policy pushing we can safely call selective disclosure, which is not unlike an amnesia of the same type. They are effectively not bound to protecting the privacy of their users in any way unless, you yourself, can shift the ground and convince a US district judge to issue you an order which requires them to even look at their logs on your behalf. This doesn't tend to happen in practice for those of us who have merely had our email accounts cracked by some malicious a....le who would. Microsoft buys GitHub, puts C# compilers for .NET on Ubuntu, and the analytics devil fills the void to make up for it.

As I'm sure most of the folks out in play store userland have not been advised of this breach of your security, it makes me feel better to provide you with what I can claim as full disclosure on my end. It also makes me happy to give Google the middle finger by doing this. There are after all enough users of the app at this point that you all, at your choosing, could generate a class action lawsuit for their neglect of your privacy rights. This of course causes the analytics devil stress, so I'm happy to oblige before I have to go and fix a broken months old copy of Gradle so Google doesn't cripple my app over the advertising IDs that we now know are unique on an Android phone.

=====

The email in question (boldface and links suppressed in translation)

Hello Google Play Developer,

Our records show that your app, Chameleon Mini Live Debugger, with package name com.maxieds.chameleonminilivedebugger, is currently in violation of Google Play policy. You must resolve this issue within 7 days of the issuance of this notification, or your app will be removed from Google Play.

Reason for warning: Violation of Usage of Android Advertising ID policy and section 4.8 of the Developer Distribution Agreement

Google Play requires developers to provide a valid privacy policy when the app requests or handles sensitive user or device information. We’ve identified that your app collects and transmits the Android advertising ID, which is subject to a privacy policy requirement.

If your app collects the advertising ID, you must provide a valid privacy policy in both the designated field in the Play Console, and from within the app. Make sure your privacy policy is available on an active URL, applies to your app, and specifically covers user privacy.

Please note that the following examples do not qualify as a valid privacy policy URL:

URL does not load reliably or times out
URL opens a home page or license agreement instead of a Privacy Policy, and does not provide the required privacy disclosure
URL opens a page which does not clearly reference your app or company
URL requires a special handler to read the file (.pdf, docx) - Privacy disclosure must be in text form (unless clearly accommodating for user accessibility purposes)
Action required: Add a privacy policy to your store listing and app

Read through the Usage of Android Advertising ID and User Data policies, as well as the Developer Distribution Agreement, and make appropriate changes to your app. Be sure to include a link to a valid privacy policy on your app's store listing page and within your app.
Make sure that your app is compliant with all other Developer Program Policies. Additional enforcement could occur if there are further policy violations.
Sign in to your Play Console and submit the update to your app.
Alternatively, you can opt-out of this requirement by removing any requests for sensitive permissions or user data.

Thanks for helping us provide a clear and transparent experience for Google Play users,

Regards,

Jared

The Google Play Team

My viewpoint and why I'm in such a pi$$y mood about having to compy

A privacy policy for the users of the software I take pride in developing in my free time is issued here. It is a respectful account which justifies the permissions the app assumes. Absolutely no data is transmitted to me or through my devices once I register the signed binary APK files with Google. That is not to say that statistics and massive amounts of user data are not being transferred, registered and cataloged about you through the play store (there is). It's just that I have not facilitated it.

It's curious that given all of the device data that is made available in the developer console, what really lights the analytics devil's tail on fire is an advertising ID. More than to a stubborn adherence that software should be made free, I would not ever choose to profit by adding advertising to this application because I have worked hard to get the buttons aligned just so, provide a consistent ("hacker punk" say some) theme which looks good. Google's firebase API and animated advertising would make my efforts look ugly on my phone.

I have finally just concluded that the unaccountable analytics devil some people buy stock in as Google, is an order of magnitude worse than Microsoft has ever been. This is no light statement. And I'm not happy with this eventual realization.

*My recommendation to those users (of my lovely hacker app, which is another reason I can take pride in maintaining this code base) who have a good reason to want this crap off of your phone to remove your install with play store. Go clone my repo, audit the Java code as you see fit, then -disable most of the libraries that come stock with Android studio-, roll your own and install that way. *

Bug report for motoE6

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Developer Notes / Requests

This thread officially moved context to the main app repo issues site listed here from #159 here

I created the app because I needed something that would do this in a little more user-friendly display way than communicating with the Chameleon Mini over the default serial terminal method outlined in the wiki docs. If you use it, like it, run into issues, or think is needs other features to be more useful to your usage and setup,##PLEASE COMMENT AND LET ME KNOW! ##

Developer Requests:
💰 Also, the app is freeware on the playstore, so instead of adding a PayPal account for good Samaritan user donations, I will just point out that I would like to have another couple of these devices to play with and loan to friends for another private app I'm developing. If anyone finds this app useful and has the resources to donate an extra Chameleon or two (any revision should do the trick), please contact me at [email protected]. My math university webpage should also be linked off my GitHub profile, so you can contact me that way as well. The $155 Amazon price tag (:dollar::dollar::dollar:!) for duplicate Chameleon's is a little much for my budget right now. The free source code, however, is a labor of love and will continue to be supported to the best of my ability.:sparkling_heart:

〰️I also would appreciate it if you would 🌟 star the source repo here 🌟 if you use the app or download it from the play store.〰️

App Screenshots

Mostly to get GitHub to host the screenshots for the page instead of linking to the Play Store images, which tend to change with new releases, here are several screenshots of the running app and its output:

Live Logging Interface:

Tools Menu:

Logging Tools Menu:

Export Tab:

Sample Output of the Logging Data to PlainText File:

Crash Report (CMLD 1.3.4-free): Error receiving broadcast Intent { act=android.hardware.usb.action.USB_DEVICE_ATTACHED flg=0x11000010 (has extras) } in com.maxieds.chameleonminilivedebugger.LiveLoggerActivity$2@1e0e413 [Android 11, SDK 30]

@maxieds:

Crash data summary:

  • CMLD Version: v1.3.4-free (8176:96)
  • CMLD GitHub Commit: 1cddba7 @ Tue Jan 12 18:18:04 2021 -0500
  • CMLD Build Date: 2021-01-12-182437
  • Chameleon Type: Proxgrind RevG Device
  • Serial Connection Type: USB
  • Chameleon Config: MF_CLASSIC_1K
  • Chameleon Logmode: OFF
  • Chameleon Timeout: 5000 ms
  • Android Device: z3s
  • Android Manufacturer: samsung
  • Android Brand: samsung
  • Android Product: z3sxeea
  • Android Model: SM-G988B
  • Android Hardware: exynos990
  • Android SDK: 30
  • Android OS Release: 11 (REL / G988BXXU5CTKG)
  • Android Board: exynos990
  • Android Type: user

Stack trace:




Detailed Stack Trace:
java.lang.RuntimeException: Error receiving broadcast Intent { act=android.hardware.usb.action.USB_DEVICE_ATTACHED flg=0x11000010 ( has extras ) } in com.maxieds.chameleonminilivedebugger.LiveLoggerActivity$2@1e0e413
	at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args( LoadedApk.java:1642 )
	at android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA.
     run( Unknown Source:2 )
	at android.os.Handler.
     handleCallback( Handler.java:938 )
	at android.os.Handler.
     dispatchMessage( Handler.java:99 )
	at android.os.Looper.
     loop( Looper.java:246 )
	at android.app.ActivityThread.
     main( ActivityThread.java:8414 )
	at java.lang.reflect.Method.invoke( Native Method )
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.
     run( RuntimeInit.java:596 )
	at com.android.internal.os.ZygoteInit.
     main( ZygoteInit.java:1130 )
Caused by: java.lang.SecurityException: Need BLUETOOTH ADMIN permission: Neither user 10357 nor current process has android.permission.BLUETOOTH_ADMIN.
	at android.os.Parcel.
     createExceptionOrNull( Parcel.java:2385 )
	at android.os.Parcel.
     createException( Parcel.java:2369 )
	at android.os.Parcel.
     readException( Parcel.java:2352 )
	at android.os.Parcel.
     readException( Parcel.java:2294 )
	at android.bluetooth.IBluetooth$Stub$Proxy.
     cancelDiscovery( IBluetooth.java:3794 )
	at android.bluetooth.BluetoothAdapter.
     cancelDiscovery( BluetoothAdapter.java:2765 )
	at com.maxieds.chameleonminilivedebugger.BluetoothGattConnector.
     stopConnectingDevices( BluetoothGattConnector.java:227 )
	at com.maxieds.chameleonminilivedebugger.BluetoothSerialInterface.
     stopScanningDevices( BluetoothSerialInterface.java:204 )
	at com.maxieds.chameleonminilivedebugger.ChameleonSettings.
     stopSerialIOConnectionDiscovery( ChameleonSettings.java:77 )
	at com.maxieds.chameleonminilivedebugger.LiveLoggerActivity.
     onNewIntent( LiveLoggerActivity.java:489 )
	at com.maxieds.chameleonminilivedebugger.LiveLoggerActivity$2.
     onReceive( LiveLoggerActivity.java:219 )
	at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args( LoadedApk.java:1632 )
	... 8 more



Additional comments:
NONE -- Please fill in more details about how you generated this error, like what actions you took before this screen is displayed. Did the error happen on launch of the application? Did you click a button or switch tabs? Any extra details about how the error happened are useful to fixing the issue in future releases.

BT connect crash

device pairs to phone. Works over USBOTA. Crashes at all attempts of a BT connection.

BT selected as a pairing option. Tap connect... Crashes.

ANDROID Pixel 3

  • Droid Version 11

  • Chrome, Brave

  • Device: Pixel 3

  • OS: OS v11

Need beta testers!

Can someone please verify that the current release of the app is working? In particular, please check the output of the DUMP_MFU command and the new "clone" MFU feature under the export tab. Are all of the regular features also working in this release?

Crash Report: CMLD 1.2.9-free running 20200606 [SDK 29] on device OUKITEL WP5_Pro WP5 Pro

@maxieds:

Crash data summary:

  • [Ljava.lang.String;@a16d7f3: [Ljava.lang.String;@a782cb0
  • [Ljava.lang.String;@a16d7f3: [Ljava.lang.String;@a782cb0
  • [Ljava.lang.String;@a16d7f3: [Ljava.lang.String;@a782cb0
  • [Ljava.lang.String;@a16d7f3: [Ljava.lang.String;@a782cb0
  • [Ljava.lang.String;@a16d7f3: [Ljava.lang.String;@a782cb0
  • [Ljava.lang.String;@a16d7f3: [Ljava.lang.String;@a782cb0
  • [Ljava.lang.String;@a16d7f3: [Ljava.lang.String;@a782cb0
  • [Ljava.lang.String;@a16d7f3: [Ljava.lang.String;@a782cb0
  • [Ljava.lang.String;@a16d7f3: [Ljava.lang.String;@a782cb0
  • [Ljava.lang.String;@a16d7f3: [Ljava.lang.String;@a782cb0
  • [Ljava.lang.String;@a16d7f3: [Ljava.lang.String;@a782cb0
  • [Ljava.lang.String;@a16d7f3: [Ljava.lang.String;@a782cb0
  • [Ljava.lang.String;@a16d7f3: [Ljava.lang.String;@a782cb0
  • [Ljava.lang.String;@a16d7f3: [Ljava.lang.String;@a782cb0
  • [Ljava.lang.String;@a16d7f3: [Ljava.lang.String;@a782cb0
  • [Ljava.lang.String;@a16d7f3: [Ljava.lang.String;@a782cb0
  • [Ljava.lang.String;@a16d7f3: [Ljava.lang.String;@a782cb0
  • [Ljava.lang.String;@a16d7f3: [Ljava.lang.String;@a782cb0
    Stack trace:
    " + "```java
    Could not find method actionButtonRestorePeripheralDefaults( View ) in a parent or ancestor Context for android:onClick attribute defined on view class androidx.appcompat.widget.f

L01| androidx.appcompat.app.h$a.
a( AppCompatViewInflater.java:10 )
L02| androidx.appcompat.app.h$a.
onClick( AppCompatViewInflater.java:2 )
L03| android.view.View.
performClick( View.java:7146 )
L04| android.view.View.
performClickInternal( View.java:7119 )
L05| android.view.View.access$3500( View.java:803 )
L06| android.view.View$PerformClick.
run( View.java:27533 )
L07| android.os.Handler.
handleCallback( Handler.java:883 )
L08| android.os.Handler.
dispatchMessage( Handler.java:100 )
L09| android.os.Looper.
loop( Looper.java:214 )
L10| android.app.ActivityThread.
main( ActivityThread.java:7409 )
L11| java.lang.reflect.Method.invoke( Native Method )
L12| com.android.internal.os.RuntimeInit$MethodAndArgsCaller.
run( RuntimeInit.java:492 )
L13| com.android.internal.os.ZygoteInit.
main( ZygoteInit.java:980 )

**Additional comments:**

*NONE*

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.