breautek commented on issue #1037:
URL: 
https://github.com/apache/cordova-android/issues/1037#issuecomment-666812042


   I went ahead and created a cordova project and included all supported apache 
plugins. I've tested the project using `veridex` and using `./gradlew lint`, 
according to android 
[docs](https://developer.android.com/distribute/best-practices/develop/restrictions-non-sdk-interfaces#test-for-non-sdk)
 for how to test your app for non-sdk interfaces.
   
   The project can be found at: 
[nonsdk.zip](https://github.com/apache/cordova-android/files/5004331/nonsdk.zip)
   
   Veridex output:
   ```norman@norman-ThinkPad:~/Downloads/veridex/bin$ ./appcompat.sh 
--dex-file=/development/cordova/tests/nonsdk/platforms/android/app/build/outputs/apk/debug/app-debug.apk
   NOTE: appcompat.sh is still under development. It can report
   API uses that do not execute at runtime, and reflection uses
   that do not exist. It can also miss on reflection uses.
   #1: Reflection greylist-max-q Landroid/graphics/FontFamily;->abortCreation 
use(s):
          Landroid/support/v4/graphics/TypefaceCompatApi26Impl;-><clinit>()V
   
   #2: Reflection greylist-max-q 
Landroid/graphics/FontFamily;->addFontFromAssetManager use(s):
          Landroid/support/v4/graphics/TypefaceCompatApi26Impl;-><clinit>()V
   
   #3: Reflection greylist-max-q 
Landroid/graphics/FontFamily;->addFontFromBuffer use(s):
          Landroid/support/v4/graphics/TypefaceCompatApi26Impl;-><clinit>()V
   
   #4: Reflection greylist-max-q Landroid/graphics/FontFamily;->freeze use(s):
          Landroid/support/v4/graphics/TypefaceCompatApi26Impl;-><clinit>()V
   
   #5: Reflection greylist 
Landroid/graphics/Typeface;->createFromFamiliesWithDefault use(s):
          Landroid/support/v4/graphics/TypefaceCompatApi24Impl;-><clinit>()V
          Landroid/support/v4/graphics/TypefaceCompatApi26Impl;-><clinit>()V
   
   #6: Reflection greylist Landroid/media/AudioAttributes;->toLegacyStreamType 
use(s):
          
Landroid/support/v4/media/AudioAttributesCompatApi21;->toLegacyStreamType(Landroid/support/v4/media/AudioAttributesCompatApi21$Wrapper;)I
   
   #7: Reflection greylist 
Landroid/media/session/MediaSession;->getCallingPackage use(s):
          
Landroid/support/v4/media/session/MediaSessionCompatApi24;->getCallingPackage(Ljava/lang/Object;)Ljava/lang/String;
   
   #8: Reflection greylist Landroid/os/Bundle;->getIBinder use(s):
          
Landroid/support/v4/app/BundleCompat$BundleCompatBaseImpl;->getBinder(Landroid/os/Bundle;Ljava/lang/String;)Landroid/os/IBinder;
   
   #9: Reflection greylist Landroid/os/Bundle;->putIBinder use(s):
          
Landroid/support/v4/app/BundleCompat$BundleCompatBaseImpl;->putBinder(Landroid/os/Bundle;Ljava/lang/String;Landroid/os/IBinder;)V
   
   #10: Reflection greylist 
Landroid/service/media/MediaBrowserService$Result;->mFlags use(s):
          Landroid/support/v4/media/MediaBrowserServiceCompatApi26;-><clinit>()V
   
   #11: Reflection greylist Landroid/view/LayoutInflater;->mFactory2 use(s):
          
Landroid/support/v4/view/LayoutInflaterCompat;->forceSetFactory2(Landroid/view/LayoutInflater;Landroid/view/LayoutInflater$Factory2;)V
   
   #12: Reflection greylist Landroid/view/View;->mAccessibilityDelegate use(s):
          
Landroid/support/v4/view/ViewCompat$ViewCompatBaseImpl;->hasAccessibilityDelegate(Landroid/view/View;)Z
   
   #13: Reflection greylist-max-p Landroid/view/View;->mMinHeight use(s):
          
Landroid/support/v4/view/ViewCompat$ViewCompatBaseImpl;->getMinimumHeight(Landroid/view/View;)I
   
   #14: Reflection greylist-max-p Landroid/view/View;->mMinWidth use(s):
          
Landroid/support/v4/view/ViewCompat$ViewCompatBaseImpl;->getMinimumWidth(Landroid/view/View;)I
   
   #15: Reflection greylist Landroid/view/View;->mRecreateDisplayList use(s):
          
Landroid/support/v4/widget/SlidingPaneLayout$SlidingPanelLayoutImplJB;-><init>()V
   
   #16: Reflection greylist-max-p Landroid/view/animation/Animation;->mListener 
use(s):
          
Landroid/support/v4/app/FragmentManagerImpl;->getAnimationListener(Landroid/view/animation/Animation;)Landroid/view/animation/Animation$AnimationListener;
   
   #17: Reflection greylist Landroid/widget/CompoundButton;->mButtonDrawable 
use(s):
          
Landroid/support/v4/widget/CompoundButtonCompat$CompoundButtonCompatBaseImpl;->getButtonDrawable(Landroid/widget/CompoundButton;)Landroid/graphics/drawable/Drawable;
   
   #18: Reflection greylist-max-p Landroid/widget/PopupWindow;->mOverlapAnchor 
use(s):
          
Landroid/support/v4/widget/PopupWindowCompat$PopupWindowCompatApi21Impl;-><clinit>()V
   
   #19: Reflection greylist Landroid/widget/TextView;->mMaxMode use(s):
          
Landroid/support/v4/widget/TextViewCompat$TextViewCompatBaseImpl;->getMaxLines(Landroid/widget/TextView;)I
   
   #20: Reflection greylist Landroid/widget/TextView;->mMaximum use(s):
          
Landroid/support/v4/widget/TextViewCompat$TextViewCompatBaseImpl;->getMaxLines(Landroid/widget/TextView;)I
          
Landroid/support/v4/widget/TextViewCompat$TextViewCompatBaseImpl;->getMaxLines(Landroid/widget/TextView;)I
   
   #21: Reflection greylist Landroid/widget/TextView;->mMinMode use(s):
          
Landroid/support/v4/widget/TextViewCompat$TextViewCompatBaseImpl;->getMinLines(Landroid/widget/TextView;)I
   
   #22: Reflection greylist Landroid/widget/TextView;->mMinimum use(s):
          
Landroid/support/v4/widget/TextViewCompat$TextViewCompatBaseImpl;->getMinLines(Landroid/widget/TextView;)I
          
Landroid/support/v4/widget/TextViewCompat$TextViewCompatBaseImpl;->getMinLines(Landroid/widget/TextView;)I
   
   #23: Reflection greylist-max-o 
Lcom/android/internal/view/menu/MenuBuilder;->removeItemAt use(s):
          
Landroid/support/v4/widget/TextViewCompat$TextViewCompatApi26Impl$1;->recomputeProcessTextMenuItems(Landroid/view/Menu;)V
   
   #24: Reflection greylist Llibcore/icu/ICU;->addLikelySubtags use(s):
          Landroid/support/v4/text/ICUCompat;-><clinit>()V
   
   24 hidden API(s) used: 0 linked against, 24 through reflection
        15 in greylist
        0 in blacklist
        1 in greylist-max-o
        4 in greylist-max-p
        4 in greylist-max-q
   To run an analysis that can give more reflection accesses, 
   but could include false positives, pass the --imprecise flag.
   ```
   
   As you can see, there are some non-sdk interfaces, but they all appear to be 
inside the android codebase right now... Maybe there's a dependency that we 
need to update? This apk was built using API 29.
   
   Also, perhaps a bit strange, but lint produced these results: 
[lint-results.html.zip](https://github.com/apache/cordova-android/files/5004338/lint-results.html.zip)
   
   If you look at the lint, while they are many issues (some of which probably 
should be addressed), it hints are no non-sdk interface violations.
   
   What do you make about this @alexp25 ?


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to