由于谷歌在M Developer Preview中宣布了不同应用的上下文搜索"Now on Tap"功能,所以我只想测试该功能.我已经将模拟器(使用genymotion)更新为M.但我无法测试这个.
有人有想法吗?
我正在构建一个Android应用程序,当我中途使用SDK管理器更新我的SDK版本时,我还将Android Studio更新为1.3.2.执行此操作后,我的应用程序在某些设备上崩溃,但不是全部.
我得到的错误是
Process: com.pickingo.fe, PID: 11543
java.lang.NoClassDefFoundError: android.support.v4.hardware.fingerprint.FingerprintManagerCompatApi23$1
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:308)
at com.activeandroid.ReflectionUtils.getModelClasses(ReflectionUtils.java:83)
at com.activeandroid.DatabaseHelper.onCreate(DatabaseHelper.java:46)
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:251)
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:163)
at com.activeandroid.Registry.openDatabase(Registry.java:149)
at com.activeandroid.Registry.initialize(Registry.java:107)
at com.activeandroid.ActiveAndroid.initialize(ActiveAndroid.java:8)
at com.pickingo.fe.Application.onCreate(Application.java:25)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1034)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4605)
at android.app.ActivityThread.access$1500(ActivityThread.java:148)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1353)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5312)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696)
Run Code Online (Sandbox Code Playgroud)
这是我的Application.java类
import android.content.Context;
import com.activeandroid.ActiveAndroid;
import com.pickingo.fe.notification.NotificationManager;
import com.pickingo.fe.preference.PreferenceManager;
import com.pickingo.fe.sync.ServerUpdatePusher;
import com.pickingo.fe.test.StoreLogcat;
public class Application extends android.app.Application {
public static boolean init = true;
public static …Run Code Online (Sandbox Code Playgroud) android android-studio android-gradle-plugin android-6.0-marshmallow
我正在开发一个具有连接性的应用程序,该应用程序连接到带有编译的SDK 23的蓝牙设备.我在请求蓝牙的多个权限时遇到问题.这是我到目前为止所做的:
@Override
public void onStart() {
super.onStart();
if (D)
Log.e(TAG, "++ ON START ++");
if (ContextCompat.checkSelfPermission(MyBlueToothClientActivity.this,
Manifest.permission.BLUETOOTH)
!= PackageManager.PERMISSION_GRANTED) {
} else {
ActivityCompat.requestPermissions(MyBlueToothClientActivity.this,
new String[]{Manifest.permission.BLUETOOTH, Manifest.permission.BLUETOOTH_ADMIN},
REQUEST_ENABLE_BT);
}
if (ContextCompat.checkSelfPermission(MyBlueToothClientActivity.this,
Manifest.permission.BLUETOOTH)
!= PackageManager.PERMISSION_GRANTED) {
} else {
ActivityCompat.requestPermissions(MyBlueToothClientActivity.this,
new String[]{Manifest.permission.BLUETOOTH, Manifest.permission.BLUETOOTH_ADMIN},
REQUEST_CONNECT_DEVICE_INSECURE);
}
}
@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults) {
switch (requestCode) {
case REQUEST_ENABLE_BT: {
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) …Run Code Online (Sandbox Code Playgroud) 在过去的几天里,我一直在努力让Android的应用程序在Android marshmallow(API 23)模拟器上运行.我想这样做的原因是,我可以将我的android(手机)模拟器与我的机器人模拟器配对,以便在jenkins上运行自动葫芦烟雾测试.我知道这是可能的(或至少以前已经可能),正如我发现的那样(kennethmascarenhas.wordpress.com/2014/08/19/developing-for-android-wear-with-emulators/),其中概述了配对两个模拟器在一起.
到目前为止我尝试过的:
(1)在运行Google API的marshmallow模拟器上安装Android Wear应用程序
模拟器配置:
启动模拟器:
emulator -avd <my_avd> -writable-system -no-boot-anim
Run Code Online (Sandbox Code Playgroud)
安装android wear app(从这里下载:www.apkmirror.com/apk/google-inc/android-wear/android-wear-1-5-0-2714488-gms-release/android-wear-1-5- 0-2714488-GMS-Android的APK下载/):
adb -s emulator-5554 install <path_to_downloaded_wear_apk>
Run Code Online (Sandbox Code Playgroud)
然而,打开磨损应用程序会产生一个对话框,指出:"在Play商店中更新您的Google应用程序.然后再次打开Android Wear."
这是我试图安装Google Play的兔子洞 - -
有趣的是,如果您使用"Google API"运行模拟器,则已捆绑以下Google Play应用:
根据这篇博客文章(www.flinkd.org/2015/02/installing-google-play-on-the-android-emulator-api-21-lollipop/),可以安装谷歌游戏商店(以及所有顺其自然),或者至少它是在API 21上.
将模拟器设备分区重新安装为读写:
adb remount
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试将apks"推送"到模拟器时,例如:
adb push PrebuiltGmsCore.apk /system/priv-app
Run Code Online (Sandbox Code Playgroud)
我得到一个错误: …
android-virtual-device android-emulator google-play android-6.0-marshmallow wear-os
我在6.0.1 Marshmallow操作系统上,我以前更改首选网络模式的命令不再有效.
Kit Kat中使用的命令没有问题:
adb shell sqlite3 /data/data/com.android.providers.settings/databases/settings.db "SELECT * FROM global WHERE name='preferred_network_mode'"
adb shell sqlite3 /data/data/com.android.providers.settings/databases/settings.db "update global SET value=1 WHERE name='preferred_network_mode'"
adb shell sqlite3 /data/data/com.android.providers.settings/databases/settings.db "select value FROM secure WHERE name='preferred_network_mode'
Run Code Online (Sandbox Code Playgroud)
在此操作系统中输入的上述命令导致输出:
Error: no such table: global
Run Code Online (Sandbox Code Playgroud)
我删除了完全为空的数据库文件:
adb pull /data/data/com.android.providers.settings/databases/
Run Code Online (Sandbox Code Playgroud)
是否有任何ADB命令可用于将preferred_network_mode更改为LTE/GSM?
使用命令
亚行外壳设置将安全的location_providers_allowed gps
我可以在Android 5.1.1中启用该位置
但是,如果我在android 6中使用相同的命令,它将无法正常工作
我用NotificationBuilder为android创建了通知,虽然我设置了.setColor(),它忽略了颜色并将小图标的背景颜色设置为黑色.我的目标SDK是23,min SDK是19.而我用于调试的手机有Android Marshmallow.Thanks寻求帮助.
.setContentTitle(msgTitle)
.setSmallIcon(R.mipmap.notification_icon)
.setColor(R.color.ColorPrime) // ColorPrime is red.
.setLargeIcon(msgIcon)
.setTicker(msgBody)
.setStyle(new NotificationCompat.BigTextStyle()
.bigText(msgBody).setBigContentTitle(msgTitle))
.setContentText(msgBody)
.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
.setPriority(Notification.PRIORITY_HIGH);
Run Code Online (Sandbox Code Playgroud)
android android-notifications android-5.0-lollipop android-statusbar android-6.0-marshmallow
我在我的原生应用程序中创建目录.它在Android 5.0中完美运行,但在Android 6.0(Marshmallow)有时它工作,有时不工作.我正在使用以下代码创建新目录.我正在保存视频和图像文件在目录中.
public static void createApplicationFolder() {
File f = new File(Environment.getExternalStorageDirectory(), File.separator + Config.VIDEO_COMPRESSOR_APPLICATION_DIR_NAME);
f.mkdirs();
f = new File(Environment.getExternalStorageDirectory(), File.separator + Config.VIDEO_COMPRESSOR_APPLICATION_DIR_NAME + Config.VIDEO_COMPRESSOR_COMPRESSED_VIDEOS_DIR);
f.mkdirs();
f = new File(Environment.getExternalStorageDirectory(), File.separator + Config.VIDEO_COMPRESSOR_APPLICATION_DIR_NAME + Config.VIDEO_COMPRESSOR_TEMP_DIR);
f.mkdirs();
}
Run Code Online (Sandbox Code Playgroud) android ×5
adb ×3
appium ×1
bluetooth ×1
database ×1
google-now ×1
google-play ×1
java ×1
permissions ×1
sqlite ×1
wear-os ×1