我曾经能够在Mac OS X(10.10.5)命令行上执行:
$ sudo service tomcat7 status
Run Code Online (Sandbox Code Playgroud)
但是,我必须不小心删除与service命令关联的包,我无法找到要重新安装的服务包的名称.任何指针都会非常有用.
我无法在/ sbin /或/ bin /或/ usr/sbin /中找到服务
我已经看到各种开发者发布的问题(Android Studio将两个.aar合并为一个和其他),但我没有看到一个明确的响应,使我能够创建一个包含一个或多个AAR或JAR的AAR(我可以使用JAR因为我不需要共享任何资源;只有类).这是我的库项目的app.gradle:
apply plugin: 'com.android.library'
android {
compileSdkVersion 19
buildToolsVersion "19.1.0"
defaultConfig {
minSdkVersion 16
targetSdkVersion 21
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.google.code.gson:gson:2.1'
compile ('libs/eventbus.jar')
compile project(':core-release')
compile project(':midware-release')
}
Run Code Online (Sandbox Code Playgroud)
同样,这个应用程序是一个库项目,需要两个其他库项目('核心发布','midware-release'),虽然我能够生成一个我可以在我的应用程序中使用的AAR文件,但应用程序无法找到依赖库项目的类,我必须将两个库项目的AAR添加到我的应用程序中.
这是app.gradle应用程序项目(无需手动添加JAR),无法找到依赖项目的类:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.app.sample"
minSdkVersion 19
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies …Run Code Online (Sandbox Code Playgroud) 运行 androidTests 时,我间歇性地收到一条消息“测试运行已启动完成空测试套件。”,下面给出了发生这种情况时的堆栈跟踪。
\n\n当我的设备使用 USB 连接到另一个设备时,我使用 ADB 通过 Wi-Fi 运行测试。当我注意到这个异常时,我确保设备仍然处于连接状态。需要明确的是,我的应用程序是本机应用程序,没有网络视图。
\n\nI/MonitoringInstrumentation: No JSBridge.\n java.lang.ClassNotFoundException: android.support.test.espresso.web.bridge.JavaScriptBridge\n at java.lang.Class.classForName(Native Method)\n at java.lang.Class.forName(Class.java:251)\n at java.lang.Class.forName(Class.java:216)\n at android.support.test.runner.MonitoringInstrumentation.tryLoadingJsBridge(MonitoringInstrumentation.java:621)\n at android.support.test.runner.MonitoringInstrumentation.access$100(MonitoringInstrumentation.java:90)\n at android.support.test.runner.MonitoringInstrumentation$4.run(MonitoringInstrumentation.java:232)\n at android.app.Instrumentation$SyncRunnable.run(Instrumentation.java:1747)\n at android.os.Handler.handleCallback(Handler.java:733)\n at android.os.Handler.dispatchMessage(Handler.java:95)\n at android.os.Looper.loop(Looper.java:146)\n at android.app.ActivityThread.main(ActivityThread.java:5602)\n at java.lang.reflect.Method.invokeNative(Native Method)\n at java.lang.reflect.Method.invoke(Method.java:515)\n at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)\n at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)\n at dalvik.system.NativeStart.main(Native Method)\n Caused by: java.lang.NoClassDefFoundError: android/support/test/espresso/web/bridge/JavaScriptBridge\n at java.lang.Class.classForName(Native Method)\xc2\xa0\n at java.lang.Class.forName(Class.java:251)\xc2\xa0\n at java.lang.Class.forName(Class.java:216)\xc2\xa0\n at android.support.test.runner.MonitoringInstrumentation.tryLoadingJsBridge(MonitoringInstrumentation.java:621)\xc2\xa0\n at android.support.test.runner.MonitoringInstrumentation.access$100(MonitoringInstrumentation.java:90)\xc2\xa0\n at android.support.test.runner.MonitoringInstrumentation$4.run(MonitoringInstrumentation.java:232)\xc2\xa0\n at android.app.Instrumentation$SyncRunnable.run(Instrumentation.java:1747)\xc2\xa0\n at android.os.Handler.handleCallback(Handler.java:733)\xc2\xa0\n at android.os.Handler.dispatchMessage(Handler.java:95)\xc2\xa0\n at android.os.Looper.loop(Looper.java:146)\xc2\xa0\n at android.app.ActivityThread.main(ActivityThread.java:5602)\xc2\xa0\n at …Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中使用TextInputLayoutandTextInputEditText以及android:inputType="textAutoComplete"and 我不允许两个单词之间有空格,因此如果我在自动完成下拉列表或拼写检查中选择带有空格的项目,我会遇到IndexOutOfBoundsException:
java.lang.IndexOutOfBoundsException: setSpan (0 ... 8) ends beyond length 7
at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1265)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:684)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:677)
at android.widget.TextView.setSpan_internal(TextView.java:9900)
at android.widget.Editor.replaceWithSuggestion(Editor.java:2654)
at android.widget.Editor.-wrap18(Editor.java)
at android.widget.Editor$SuggestionsPopupWindow.onItemClick(Editor.java:3638)
at android.widget.AdapterView.performItemClick(AdapterView.java:310)
at android.widget.AbsListView.performItemClick(AbsListView.java:1156)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3121)
at android.widget.AbsListView$3.run(AbsListView.java:4036)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Run Code Online (Sandbox Code Playgroud)
在我的活动中,我使用TextWatcher:
private final TextWatcher mTextWatcher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override …Run Code Online (Sandbox Code Playgroud) 我的应用程序(S Educate)要求我获取DeviceId(用于Analytics/Recommendations),因此我添加了权限,READ_PHONE_STATE虽然文档是无害的,但当用户安装时,应用程序权限窗口显示"电话呼叫 - 监控,记录,并处理电话"显然阻止用户安装,用户已经通知他们没有因为这个权限而安装.
以下是我的选择:
请告知我如何解决此权限问题.
我正在使用 JUnit 4.12,这是我目前对经常使用的以下 API 的理解:
但是,我无法弄清楚以下几件事:
我正在尝试在某些帧之间循环动画,但我根本看不到动画,如果删除代码LottieCompositionFactory....addListener并仅使用 xml 文件,动画确实会显示,但是我想在某些帧之间运行动画:
class OnboardingFragment : Fragment() {
...
...
private var myComposition: LottieComposition? = null
...
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
LottieCompositionFactory.fromRawRes(context, R.raw.my_animation)
.addListener {
myComposition = it
Log.d(TAG, "Is animation displaying: $myComposition") //does print the LottieComposition
with(lottieAnimation) {
alpha = 0F
visibility = View.VISIBLE
myComposition?.let { it1 -> setComposition(it1) }
repeatCount = ValueAnimator.INFINITE
setMinAndMaxFrame(29, 219)
playAnimation()
}
}
.addFailureListener {
Log.e(TAG, "Error displaying animation: ${it.message}")
}
Run Code Online (Sandbox Code Playgroud)
和布局文件:
<androidx.constraintlayout.widget.ConstraintLayout
...
...
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/lottieAnimation"
android:layout_width="170dp"
android:layout_height="146dp" …Run Code Online (Sandbox Code Playgroud)