我有一个奇怪的问题,找不到任何解决方法.当我打开模拟器并且AVD正常运行时,第一次就可以了.但是5-10分钟后,模拟器断开连接,它失去了它的互联网连接,我无法连接到它,Android Studio也完全陷入困境,没有任何反应!我应该关闭模拟器,然后一切都恢复正常.
这些是我测试的:
adb kill-server
然后
adb start-server
我也尝试过再次连接和断开连接
adb connect localhost:5554
而且adb connect emualtor-5554
,但还是没有结果.
更糟糕的是我不能再使用Android Studio,即使点击代码行也行不通!
每次我应该关闭模拟器并再次打开它.
注意:我不能使用Genymotion,我不想使用我的设备进行调试!
任何身体都能解决这个该死的虫子.它让我发疯了...先谢谢
编辑:
问题不是与模拟器有关的问题.今天我尝试使用WiFi连接进行调试.一切都很好,直到我的真实设备再次出现问题.在日志中它说:
deviceXXXXX已断开连接
所以问题在于我的ADB连接!
我测试的是向防火墙添加端口5555还添加了ADB以通过防火墙.但问题仍然存在.
我们的应用程序支持不同的当地人。中间有一个带有两个可替换值的字符串(带有货币符号的货币, USD$XXXXX )。但是,当语言环境是阿拉伯语时,就会出现奇怪的行为。当文本超过一行时,文本方向会发生变化。只有第一行的文本是正确的,而其他行的格式会被某些东西覆盖!
正如您在屏幕截图中看到的,绿线与预期的一样正确,而红线是错误的。
到目前为止,我已经尝试使用:
问题是,使用bidi格式后,第一个数字是正确的,但第二个数字却不是。
使用 BidiFormat 和 unicode 后,所有数字都很好,但是,当文本很长并变成多行时,只有第一行是正确的,其他行又是错误的。
对于unicode,我查看了:Unicode® Standard Annex #9 UNICODE BIDIRECTIONAL ALGORITHM (如果只对主要内容感兴趣,可以直接看这部分)
你可以看看这个 repo:Github Link
这是我用于快速参考的代码:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setTextViewTexts(R.id.tvLtrOneLine, formatWithCurrency(), R.string.text_short_english)
setTextViewTexts(R.id.tvLtrTwoLines, formatWithCurrency(), R.string.text_long_english)
setTextViewTexts(R.id.tvRtlOneLine, formatWithCurrency(), R.string.text_short_arabic)
setTextViewTexts(R.id.tvRtlOneLineBidi, bidiFormatter(formatWithCurrency()), R.string.text_short_arabic)
setTextViewTexts(R.id.tvRtlOneLineRtlFormatter, rtlMaker(formatWithCurrency()), R.string.text_short_arabic)
setTextViewTexts(R.id.tvRtlTwoLines, formatWithCurrency(), R.string.text_long_arabic)
setTextViewTexts(R.id.tvRtlTwoLinesBidi, bidiFormatter(formatWithCurrency()), R.string.text_long_arabic)
setTextViewTexts(R.id.tvRtlTwoLinesRtlFormatter, rtlMaker(formatWithCurrency()), R.string.text_long_arabic)
}
private fun setTextViewTexts(textViewId: Int, text: String, stringResource: Int) {
findViewById<TextView>(textViewId).text = getString(stringResource, text, text) …
Run Code Online (Sandbox Code Playgroud) 在使用最新的SDK版本4.30时尝试通过Facebook登录时出现以下错误:
SDK尚未初始化,请务必致电
FacebookSdk.sdkInitialize()
然后应用程序崩溃.
虽然,在官方文档中,它应该已经自动初始化.
请注意,FacebookSdk.sdkInitialize()
现在已弃用,因此不应调用它!
不调用时出错FacebookSdk.sdkInitialize()
:
The SDK has not been initialized, make sure to call
FacebookSdk.sdkInitialize() first. at
com.facebook.internal.Validate.sdkInitialized(Validate.java:143) at
com.facebook.login.LoginManager.<init>(LoginManager.java:79) at
com.facebook.login.LoginManager.getInstance(LoginManager.java:92)
at
com.linkdev.tepdeal.login.LoginPresenter.loginWithFacebook(LoginPresenter.java:88)
at
com.linkdev.tepdeal.login.FragmentLogin.onClick(FragmentLogin.java:105)
at android.view.View.performClick(View.java:5637) at
android.view.View$PerformClick.run(View.java:22433) 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:6186) at
java.lang.reflect.Method.invoke(Native Method) at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
Run Code Online (Sandbox Code Playgroud)
当强制FacebookSdk.sdkInitialize()
在应用程序上调用已弃用时,会发生以下错误:
java.lang.NoClassDefFoundError: Failed resolution of:
Lcom/facebook/common/R$layout; at
com.facebook.FacebookActivity.onCreate(FacebookActivity.java:77)
at android.app.Activity.performCreate(Activity.java:6684) at
android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
Run Code Online (Sandbox Code Playgroud)
PS:尝试使用Facebook登录按钮时出错
扩展类com.facebook.login.widget.LoginButton时出错
android facebook android-fragments facebook-login facebook-sdk-4.x