我有下一个年级
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0-rc01'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.android.material:material:1.0.0-rc01'
}
Run Code Online (Sandbox Code Playgroud)
但是当我想构建应用程序时,我会得到下一个日志:
Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0-alpha3] AndroidManifest.xml:22:18-91
is also present at [androidx.core:core:1.0.0-alpha3] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:5:5-19:19 to override.
Run Code Online (Sandbox Code Playgroud)
好! 去清单并执行:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="ru.chopcode.myapplication">
<application
tools:replace="android:appComponentFactory"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
然后我在Logcat中收到此错误:
Manifest merger failed with multiple errors, see logs that I have …Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序。我将不同的文件类型(例如 docx、pdf、zip)上传到 WAMP 服务器。以下是我的内部存储的文件路径。
/storage/emulated/0/WhatsApp/Media/WhatsApp Documents/api.txt
我已在清单文件中添加并允许存储权限,并在运行时读取文件。但是,没有可用的内部存储权限请求。
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Run Code Online (Sandbox Code Playgroud)
对于 Android 10 我也使用了这个属性
android:requestLegacyExternalStorage="true"
Run Code Online (Sandbox Code Playgroud)
但当我从内部存储读取文件进行上传时,我在三星 Galaxy 上的 Android 11 操作系统(又名 Android R)上收到此错误。
java.io.FileNotFoundException:/storage/emulated/0/WhatsApp/Media/WhatsApp Documents/api.txt:打开失败:EACCES(权限被拒绝)
我正在尝试将 apk 安装到工作配置文件用户
adb shell pm install --user 12 /data/test.apk
Run Code Online (Sandbox Code Playgroud)
adb 返回错误。
C:\Users\tesrter\Downloads>adb shell pm install --user 12 /data/test.apk
Security exception: Shell does not have permission to access user 12
com.android.server.am.ActivityManagerService.handleIncomingUser:14895 android.app.ActivityManager.handleIncomingUser:3834 com.android.server.pm.PackageManagerShellCommand.translateUserId:2756
java.lang.SecurityException: Shell does not have permission to access user 12
com.android.server.am.ActivityManagerService.handleIncomingUser:14895 android.app.ActivityManager.handleIncomingUser:3834 com.android.server.pm.PackageManagerShellCommand.translateUserId:2756
at com.android.server.am.UserController.handleIncomingUser(UserController.java:1883)
at com.android.server.am.ActivityManagerService.handleIncomingUser(ActivityManagerService.java:14895)
at android.app.ActivityManager.handleIncomingUser(ActivityManager.java:3834)
at com.android.server.pm.PackageManagerShellCommand.translateUserId(PackageManagerShellCommand.java:2756)
at com.android.server.pm.PackageManagerShellCommand.doCreateSession(PackageManagerShellCommand.java:2762)
at com.android.server.pm.PackageManagerShellCommand.runInstall(PackageManagerShellCommand.java:1072)
at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:175)
at android.os.ShellCommand.exec(ShellCommand.java:104)
at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:24259)
at android.os.Binder.shellCommand(Binder.java:888)
at android.os.Binder.onTransact(Binder.java:772)
at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:4879)
at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:4661)
at com.android.server.pm.HwPackageManagerService.onTransact(HwPackageManagerService.java:534)
at android.os.Binder.execTransactInternal(Binder.java:1028)
at android.os.Binder.execTransact(Binder.java:1001)
Run Code Online (Sandbox Code Playgroud) 我有一个使用应用程序内更新的 Android 应用程序。以 android 14 (API 34) 为目标后,应用程序将因以下错误而无法启动:
\nFATAL EXCEPTION: main\nProcess: no.norva24.mslam, PID: 8281\njava.lang.RuntimeException: Unable to start activity\nComponentInfo{no.norva24.mslam/no.norva24.mslam.ui.activities.MainActivity}: java.lang.SecurityException: no.norva24.mslam: One\nof RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered\nexclusively for system broadcasts\n at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3782)\n at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3922)\n at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)\n at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:139)\n at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:96)\n at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2443)\n at android.os.Handler.dispatchMessage(Handler.java:106)\n at android.os.Looper.loopOnce(Looper.java:205)\n at android.os.Looper.loop(Looper.java:294)\n at android.app.ActivityThread.main(ActivityThread.java:8176)\n at java.lang.reflect.Method.invoke(Native Method)\n at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)\n at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)\nCaused by: java.lang.SecurityException: no.norva24.mslam: One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED\nshould be specified when a receiver isn't being registered …Run Code Online (Sandbox Code Playgroud) 我正在使用上面的代码来模拟使用 sendevent 的“滑动”:
sendevent /dev/input/event0 3 53 300 ;First position X
sendevent /dev/input/event0 3 54 600 ;First position Y
sendevent /dev/input/event0 3 48 5
sendevent /dev/input/event0 3 58 50
sendevent /dev/input/event0 0 2 0
sendevent /dev/input/event0 0 0 0
sendevent /dev/input/event0 3 53 300 ;Second position X
sendevent /dev/input/event0 3 54 400 ;Second position Y
sendevent /dev/input/event0 0 2 0
sendevent /dev/input/event0 0 0 0
sendevent /dev/input/event0 0 2 0
sendevent /dev/input/event0 0 0 0
Run Code Online (Sandbox Code Playgroud)
但是,它确实会立即滑动而没有任何延迟。
我试图弄清楚如何指定滑动的持续时间,就像您可以使用 adb shell 输入一样: …
我正在致力于开发 Web 客户端和 API 服务器。我一直在做一些关于默认超时的研究,有些是 800 毫秒,有些是 1200 毫秒。但是,我找不到任意数字背后的原因。有人可以帮我解决这个问题吗?任意数字背后的解释将会有很大帮助。
谢谢,
我一直在尝试在我的 Galaxy s8 上安装 TWRP 自定义恢复,但没能解决这个特定问题。在查看了几个论坛并观看了 youtube 上的几乎所有解决方案后,我不得不发布我的问题。
因此,在启用 USB 调试和 OEM 解锁后,我在 cmd 提示符中打开平台工具并输入以下内容:
adb devices- 这表明我的电脑已检测到我的设备
adb reboot bootloader- 然后这将带我进入引导加载程序模式
fastboot flash recovery recovery.img- 这让我看到“正在等待任何设备”
我见过的所有解决方案都与驱动程序有关,但我相信我的解决方案在手动安装后是最新的C:\Users\"My Name"\AppData\Local\Android\Sdk\extras\google\usb_driver
任何帮助将非常感激。谢谢
我目前正在这样做:
-d: 只调用一次 logcat 并返回
adb shell logcat -d
Run Code Online (Sandbox Code Playgroud)
然后我在日志中对Caused by.*"apk name".
问题是,有时它会在日志中生成此消息,但该应用程序仍在响应/工作。想问一下是否有更好的方法来检查应用程序是否停止工作,使用 adb shell 命令。
停止工作我的意思是,它仍然打开但没有响应任何东西。
注意:我不是在寻找导致应用程序崩溃的原因,只是它是否已停止工作。
我正在使用以下应用程序链接:https ://developer.android.com/training/app-links/verify-site-associations
使用cmd时:adb shell pm verify-app-links
show: Unknown command: verify-app-links
Run Code Online (Sandbox Code Playgroud)
我的adb版本是:
$ adb --version
Android Debug Bridge version 1.0.41
Version 31.0.3-7562133
Run Code Online (Sandbox Code Playgroud)
几乎是最新的,为什么未知命令:verify-app-links?
在 android 中,我循环遍历数据库并分配文本和图像:
Cursor res = myDb.getAllData();
while (res.moveToNext()) {
Actors actor = new Actors();
actor.setName(res.getString(1));
String th = res.getString(11);
Integer thumb = this.getResources().getIdentifier(th, "drawable", "mypackage");
actor.setThumb(R.drawable.th);
}
Run Code Online (Sandbox Code Playgroud)
然而,Lint 建议不要使用 getIdentifier - 不鼓励使用此函数,因为资源反射会使执行代码的构建优化和编译时验证变得更加困难。
在数据库列中,我只有图像名称(字符串)。如何替换 getIdentifier?
即使我将 DB 列直接更改为R.drawable.imagename,它仍然是一个字符串,因为setThumb我需要一个可绘制对象。