我看到一个非常奇怪的堆栈跟踪,对于我的应用程序的总安装基础中的一小部分设备。一张图片胜过千言万语:
显然,堆栈跟踪通常非常有用,并指向代码行,如果不是导致崩溃的方法,但这个看起来与我不同。我对所有or
s:
at com.aaronjwood.portauthority.activity.MainActivity.access$300 (MainActivity.java)
or .setupMac (MainActivity.java)
at com.aaronjwood.portauthority.activity.MainActivity.access$002 (MainActivity.java)
or .access$100 (MainActivity.java)
or .access$1100 (MainActivity.java)
or .access$902 (MainActivity.java)
or .processFinish (MainActivity.java)
or .setClip (MainActivity.java)
at com.aaronjwood.portauthority.activity.MainActivity$9.onReceive (MainActivity.java)
我也不理解属于.access
的匿名类。我假设这是一个Android特定的东西埋在SDK的某个地方。我只是不知道为什么它如此不一致。
此应用程序是开源的,因此您可以看到access
中没有MainActivity
var filterLikeTerms = function (terms) { //takes an array of terms, optional second argument is an array of arrays of similar terms
if (!arguments[1]) arguments[1] = []; //Initilizes the second argument if none is given
if (terms.length == 0) return arguments[1]; //End condition
arguments[1].push(terms.filter(term => terms[0].toString() === term.toString())); //Adds similar terms to the 2nd argument array
terms = terms.filter (term => terms[0].toString() !== term.toString()); //shortens the terms array to exclude the like terms filtered above
return filterLikeTerms(terms, arguments[1]); //recursive function call
}
:https://github.com/aaronjwood/PortAuthority/blob/development/app/src/main/java/com/aaronjwood/portauthority/activity/MainActivity.java
请注意,我在开发者控制台上为此应用程序准备了反混淆映射,因此尽管在构建版本APK期间使用了proguard,但堆栈跟踪应尽可能准确。