好记性不如烂笔头,记下遇到过的问题,方便以后查阅.


###1. Error:(11) No resource identifier found for attribute ‘roundIcon’ in package

问题原因: 无法找到定义的roundicon资源. roundicon是新版本中出现的,在老版中是没有roundicon的.

解决方法:删除AndroidManifest.xml里的android:roundIcon=”@mipmap/ic_launcher_round”


###2. Error:(1, 0) Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environment variable to “831b8e220b7bb0cbbb244f1328f1d4fd5da9” Fix plugin version and sync project Open File.

问题原因:

解决方法:将

dependencies {   classpath 'com.android.tools.build:gradle:2.0.0-alpha3'}

改成

dependencies {    classpath 'com.android.tools.build:gradle:1.+'}

###3. Error:(24, 13) Failed to resolve: com.android.support:appcompat-v7:23.+ Install Repository and sync project Show in File Show in Project Structure dialog

问题原因:

解决方法:SDK Manager中 下载Google repository 和 Android support repository.


###4. FATAL EXCEPTION: main Process: com.viking.jninetndk1, PID: 6145 java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol “__aeabi_memclr4” referenced by “/data/app/com.viking.jninetndk1-1/lib/arm/libjniLib.so “…


问题原因: targetSdkVersion版本和NDK版本不匹配.

解决方法: 修改NDK和targetSdkVersion版本号.
android studio :2.0 preview 4
android sdk :android-sdk_r24.4.1-windows
android ndk :android-ndk-r10e
gradle : gradle-2.10-all

android {compileSdkVersion 23buildToolsVersion "23.0.3"defaultConfig {applicationId "com.viking.myapplication"minSdkVersion 15targetSdkVersion 23versionCode 1versionName "1.0"ndk{moduleName "jniLib"abiFilters "armeabi","armeabi-v7a"}}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}}dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])testCompile 'junit:junit:4.12'compile 'com.android.support:appcompat-v7:23.+'}

###5. libcooee.so: has text relocations
问题原因: 编译.so文件时使用了较低版本sdk,而project 中的配置 targetSdkVersion22 大于so编译时使用的sdkversion

解决方法: 只需要把功能中的targetSdkVersion降低.

defaultConfig { applicationId “com.example” minSdkVersion 16 targetSdkVersion 22 versionCode 1 versionName “1.0” }

###6. Gradle version 2.10 is required. Current version is 2.8. If using the gradle wrapper, try editing the distributionUrl in F:\work\qxueyou\gradle\wrapper\gradle-wrapper. properties to gradle-2.10-all.zip

问题原因: gradle版本要2.10 当前是2.8.

解决方法: 将项目中gradle目录中gradle-wrapper.properties文件中的distributionUrl=https://services.gradle.org/distributions/gradle-2.8-all.zip修改成与自己gradle匹配的distributionUrl=https://services.gradle.org/distributions/gradle-2.10-all.zip


###7. A problem occurred evaluating project ‘:app’. Failed to apply plugin [id ‘com.android.application’] Gradle version 2.2 is required. Current version is 2.10. If using the gradle wrapper, try editing the distributionUrl in /Users/brindy/Projects/TestApp/gradle/wrapper/gradle-wrapper.properties to gradle-2.2-all.zip

问题原因:

解决方法:
将项目中gradle目录中gradle-wrapper.properties文件中的distributionUrl=https://services.gradle.org/distributions/gradle-3.0-all.zip修改成与自己gradle匹配的distributionUrl=https://services.gradle.org/distributions/gradle-2.8-all.zip

distributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distszipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/distsdistributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip 

###8. Error:(1, 0) Minimum supported Gradle version is 3.3. Current version is 3.2

问题原因: 支持的Gradle最小版本为3.3 当前版本为3.2

解决方法: 将

 dependencies {classpath 'com.android.tools.build:gradle:2.3.1' }

改成

dependencies {classpath 'com.android.tools.build:gradle:2.2.0'}

###9.
问题原因: 网络请求更新gradle失败.

解决方法:settings->Build,Execution,Deployment->Gradle 将use default gradle wrapper 改为use local gradle. 将使用网络的gralde设置成使用本地的gradle.


###10. unable to access android sdk add-on list
问题原因:

解决方法: 需要到Android Studio的bin目录下找到 idea.properties 这个文件。使用记事本或其他编辑器,打开这个文件,更改disable.android.first.run 的值等于true,即disable.android.first.run=true 如果没有则直接添加.

###11. ‘It seems that you device does not support camera (or it is locked)’

问题原因:相机权限的问题,Android6.0 之后需要动态配置权限

解决方法:在手机端 setting -> app -> 权限 -> 添加权限


###12. FATAL EXCEPTION: main Process: com.viking.jnidemo, PID: 27114 java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file “/data/app/com.viking.jnidemo-1/base.apk”, zip file “/data/app/com.viking.jnidemo-1/split_lib_dependencies_apk.apk”, zip file “/data/app/com.viking.jnidemo-1/split_lib_slice_0_apk.apk”, zip file “/data/app/com.viking.jnidemo-1/split_lib_slice_1_apk.apk”],nativeLibraryDirectories=[/data/app/com.viking.jnidemo-1/lib/arm64, /vendor/lib64, /system/lib64]]] couldn’t find “libjniLib.so”

问题原因: 无法找到libjniLib.so 库

解决方法:将jnilibs的资源目录引入,sourcesets中添加 jniLibs.srcDirs=[‘libs’]

sourceSets {main {java.srcDirs = ['src/main/java', 'src/main/aidl']jniLibs.srcDirs=['libs'] jni.srcDirs =[]}}

###13. FAILURE: Build failed with an exception. Execution failed for task ‘:app:mergeDebugResources’. Some file crunching failed, see logs for details
AAPT: libpng error: Not a PNG file
AAPT err(Facade for 197782496) : No Delegate set : lost message:libpng error: Not a PNG file

问题原因:说文件不是PNG文件,可是没有说是哪一张图

解决方法:在build.gradle里加入

android {......aaptOptions { cruncherEnabled = false }}

###14. Error:Execution failed for task ‘:app:compileDebugAidl’.

问题原因: 这个是我AIDL文件从服务端复制到客户端,包名没有修改.
解决方法: 仔细看看自己的AIDL文件,是否有写错什么?


###15. FATAL EXCEPTION: main
Process: com.viking.aidl2, PID: 28327
java.lang.SecurityException: Binder invocation to an incorrect interface
at android.os.Parcel.readException(Parcel.java:1602)
at android.os.Parcel.readException(Parcel.java:1555)
at com.viking.aidl2.PersonManagerStubStubProxy.getPersonAge(PersonManager.java:107)
at com.viking.aidl2.MainActivity2.onServiceConnected(MainActivity.java:41)atandroid.app.LoadedApk2.onServiceConnected(MainActivity.java:41)atandroid.app.LoadedApkServiceDispatcher.doConnected(LoadedApk.java:1375)
at android.app.LoadedApkServiceDispatcherServiceDispatcherRunConnection.run(LoadedApk.java:1392)
at android.os.Handler.handleCallback(Handler.java:819)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:210)
at android.app.ActivityThread.main(ActivityThread.java:5943)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:956)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:817)

问题原因: binder调用了错误的接口.

解决方法: 服务端与客户端都要有相同的接口(使用到的),这里的“相同”是指完全相同,包括包名,也就是说要在不同工程下AIDL文件建立相同的包名.


###16. FATAL EXCEPTION: main Process: com.viking.testjar,
PID: 21432 java.lang.UnsatisfiedLinkError:
No implementation found for int com.viking.myapplication.JniMethod.NetInit() (tried
Java_com_viking_myapplication_JniMethod_NetInit and Java_com_viking_myapplication_JniMethod_NetInit__)
问题原因:无法找到so库里面的方法.是没有加载so库导致的.

解决方法:添加加载so库即可.

static {System.loadLibrary("jniLib");}

###17. FATAL EXCEPTION:main Process:com.xxx.xxx, PID: ….
java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol “_aeabi_memclr4” referenced by “/data/app/com.viking.xxx-2/lib/arm/libxxx.so”…

问题原因: 这可能是你sdk和ndk版本不匹配导致的.

解决方法: 将sdk和ndk改成匹配的就可以了,至于什么版本与什么版本匹配,可以上网找找.


###18. Fatal signal 11 (SIGSEGV), code 1, fault addr xxx in tid xxx (g.xxxxx)

问题原因:
1.jni开发中出现空指针问题.
2.jni开发中出现索引越界问题.
3.如果排除是代码问题,那可能是你线程问题.jni开发中的env是每个线程都会创建一个, 其他线程不能用当前线程的env,这可能导致出现上面的问题.

解决方法:进程中没个线程都有一个env,但是只有个JavaVM .可以通过JavaVM来创建env.具体可以参考:http://blog.csdn.net/viking_xhg/article/details/78727273


###19.
1.unspecified on project app resolves to an APK archive which is not supported as a compilation dependency
2.Error:Library projects cannot set applicationId. applicationId is set to ‘package_name’ in default config.

问题原因: 存在两个Module,其中一个Module依赖另一个Module而导致;

解决方法:
1. build.gradle -> apply plugin: ‘com.android.application’ (将当前程序编译成apk) 改为 apply plugin: ‘com.android.library’ (当前程序编译为library库);
2.删除 builde.gradle — android — defaultConfig中的 applicationId “com.viking.swgetdeviceinfo” ;


###20.
remount of system failed: Permission denied
remount failed

问题原因: 挂载system失败,权限不够.

解决方法: adb root ,通过使用root权限运行remount.


###21. Error:Cause: buildToolsVersion is not specified.

问题原因: build.gralde中无buildToolsVersion 属性

解决方法: 添加 buildToolsVersion “27.0.1”


###22.
03-22 01:34:04.123 5009-5009/com.viking.myapplication E/dalvikvm: dlopen(“/data/app-lib/com.viking.myapplication-1/libjniLib.so”) failed: dlopen failed: cannot locate symbol “sigemptyset” referenced by “libjniLib.so”…
03-22 01:34:04.153 5009-5009/com.viking.myapplication W/dalvikvm: Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lcom/viking/myapplication/NetSDK;
03-22 01:34:04.153 5009-5009/com.viking.myapplication D/AndroidRuntime: Shutting down VM
03-22 01:34:04.153 5009-5009/com.viking.myapplication W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0xada5dba8)
03-22 01:34:04.163 5009-5009/com.viking.myapplication E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.viking.myapplication, PID: 5009
java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol “sigemptyset” referenced by “libjniLib.so”…
at java.lang.Runtime.loadLibrary(Runtime.java:364)
at java.lang.System.loadLibrary(System.java:526)
at com.viking.myapplication.NetSDK.(NetSDK.java:24)
at com.viking.myapplication.MainActivity.onCreate(MainActivity.java:14)

问题原因:
1. NDK版本:
32bits小机用:android-ndk32-r10b-linux-x86_64.tar.bz2
64bits小机用:android-ndk64-r10b-linux-x86_64.tar.bz2
64bits编译出来的APK在S3上面运行,会有闪退的现象.

2.造成问题的原因不是NDK的版本,而是目标平台的版本,我这运行在android 4.4上面。Android-19是在平台 头上将 Sigemptyset()(和许多其他函数)声明为内联的最后一个平台版本。因此,设备上的系统libc不包含这些功能。所以应该使用正确的目标平台来允许代码在旧的设备上运行。

解决方法: 只需要在你的应用程序中application.mk文件中添加 app_Platform:=Android-19。


###23.
$ adb install ./app/build/outputs/apk/app-debug.apk
2999 KB/s (8256380 bytes in 2.688s)
pkg: /data/local/tmp/app-debug.apk
Failure [INSTALL_FAILED_OLDER_SDK]

问题原因:您设备的Android版本过低,app不支持

解决方法:
Manifest中提高minSdkVersion:


###24.This Gradle plugin requires a newer IDE able to request IDE model level 3. For Android Studio this means version 3.0+

问题原因:IDE等级要为3

解决方法:在项目中的gradle.properties文件中添加

android.injected.testOnly = falsedandroid.injected.build.model.only.versioned = 3

###25.Failed to resolve :com.android.support:support-core-ui:27.0.1

问题原因: sdk版本问题

解决方法: 将build.gradle的 compileSdkVersion 23 ,targetSdkVersion 23 改成你自己的版本

###26.Error:(1, 0) Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environment variable to "6a851924f1794e8667f51b5d924eb484dbef3c9b"
Fix plugin version and sync project
Open File

问题原因: 插件太老, 降低build.gradle 去适应

解决方法:
将 classpath ‘com.android.tools.build:gradle:2.0.0-alpha3’
改成classpath ‘com.android.tools.build:gradle:1.+’

###27.Error:Failed to resolve: com.android.support:appcompat-v7:27.+
Install Repository and sync project
Show in Project Structure dialog
问题原因: 没有appcompat -v7:27.+

解决方法:将 targetSdkVersion 27版本,改成你自己的版本

###28.SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length

问题原因:File mFile = new File(dir, “FD01-” + DataTool.getFileName() + “.log”);其中的dir是一个null对象.

解决方法:将dir替换成非null对象

###29.权限申请被用户确定为永不提示
public void onRequestPermissionsResult(int requestCode,String[] permissions,int[] grantResults) {
boolean showRequestPermission = ActivityCompat.shouldShowRequestPermissionRationale(PermissionActivity.this, permissions[i]); //
if (showRequestPermission) {// 可重新申请的权限
Log.e(“PermissionActivity”, “onRequestPermissionsResult: The permissions is forbidden to be used,but this permissions can be request again. :”+permissions[i]);
} else { //禁止申请的权限
Log.e(“PermissionActivity”, “onRequestPermissionsResult: The permissions is forbidden to be used,but this permissions can’t be request again. :” + permissions[i]);
mRequestPermissionRationale.add(permissions[i]); //被禁止使用的权限
mRequestPermission.remove(permissions[i]); //可再次申请的权限
}
}
问题原因:

解决方法:

###30. 隐藏导航栏
/*
* 隐藏虚拟按键,并且全屏
*/
protected void hideBottomUIMenu() {
//隐藏虚拟按键,并且全屏
if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { // lower api
View v = this.getWindow().getDecorView();
v.setSystemUiVisibility(View.GONE);
} else if (Build.VERSION.SDK_INT >= 19) {
//for new api versions.
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
}
}

问题原因:

解决方法:

###31.Error:Execution failed for task ‘:app:processDebugManifest’.
> Manifest merger failed : uses-sdk:minSdkVersion 15 cannot be smaller than version 16 declared in library [com.github.mjdev:libaums:0.5.5] C:\Users\25934.android\build-cache\0fd465ca0b57ab1c5e3273ba183c2b545a44965e\output\AndroidManifest.xml Suggestion: use tools:overrideLibrary=“com.github.mjdev.libaums” to force usage

问题原因:sdk要求的最低版本为16,而现在的版本为15

解决方法:将build.gradle文件中的minSdkVersion 15改成minSdkVersion 16

###32.Error:Execution failed for task ‘:app:processDebugManifest’.
> Manifest merger failed : uses-sdk:minSdkVersion 15 cannot be smaller than version 16 declared in library [com.github.mjdev:libaums:0.5.5] C:\Users\25934.gradle\caches\transforms-1\files-1.1\libaums-0.5.5.aar\298013b89d4a56b0ec90284b794fc37c\AndroidManifest.xml as the library might be using APIs not available in 15
Suggestion: use a compatible library with a minSdk of at most 15,
or increase this project’s minSdk version to at least 16,
or use tools:overrideLibrary=“com.github.mjdev.libaums” to force usage (may lead to runtime failures)
问题原因:sdk要求的最低版本为16,而现在的版本为15

解决方法:将build.gradle文件中的minSdkVersion 15改成minSdkVersion 16

###33.Error:This Gradle plugin requires a newer IDE able to request IDE model level 3. For Android Studio this means version 3.0+

问题原因:Android Studio 版本个gradle版本的问题

解决方法:

1.升级android studio IDE的版本。

2.在项目的gradle.properties配置文件中加入以下这句:

android.injected.testOnly = falsed

android.injected.build.model.only.versioned = 3

###34.DrawerLayout实现侧滑菜单,出现层级问题.
出现相机展示和策划菜单会出现层级混乱问题, 一会策划菜单在相机上面, 一会策划菜单在相机下面.

问题原因:这是由于相机布局在RelativeLayout里面.

解决方法:将RelativeLayout改成Linealayout.

###35.Internal Error. Please report to https://code.google.com/p/android/issues
Android Studio 启动出现如下错误

问题原因:

android studio无法启动https://code.google.com/p/android/issues,为国外网站,需要.

解决方法:

  1. 使用软件进行

    2.最直接的方式:断开网络启动
    下次安装报:java.lang.RuntimeException: java.lang.NullPointerException…错
    只需在文件…\Android Studio\bin\idea.properties(需要对应自己的安装目录下)最后面加一行代码:
    disable.android.first.run=true 就可以完美解决问题了

###36
09-13 05:47:48.731 13724-13966/com.viking.fd01 W/System.err: java.io.IOException: No such file or directory
09-13 05:47:48.731 13724-13966/com.viking.fd01 W/System.err: at java.io.UnixFileSystem.createFileExclusively0(Native Method)
09-13 05:47:48.731 13724-13966/com.viking.fd01 W/System.err: at java.io.UnixFileSystem.createFileExclusively(UnixFileSystem.java:281)
09-13 05:47:48.731 13724-13966/com.viking.fd01 W/System.err: at java.io.File.createNewFile(File.java:1000)
09-13 05:47:48.732 13724-13966/com.viking.fd01 W/System.err: at com.viking.audio.RecordSound 2. r u n ( R e c o r d S o u n d . j a v a : 109 ) < b r > 09 − 1305 : 47 : 48.73213724 − 13966 / c o m . v i k i n g . f d 01 W / S y s t e m . e r r : a t j a v a . u t i l . c o n c u r r e n t . T h r e a d P o o l E x e c u t o r . r u n W o r k e r ( T h r e a d P o o l E x e c u t o r . j a v a : 1162 ) < b r > 09 − 1305 : 47 : 48.73213724 − 13966 / c o m . v i k i n g . f d 01 W / S y s t e m . e r r : a t j a v a . u t i l . c o n c u r r e n t . T h r e a d P o o l E x e c u t o r 2.run(RecordSound.java:109)<br>09-13 05:47:48.732 13724-13966/com.viking.fd01 W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)<br>09-13 05:47:48.732 13724-13966/com.viking.fd01 W/System.err: at java.util.concurrent.ThreadPoolExecutor 2.run(RecordSound.java:109)<br>091305:47:48.7321372413966/com.viking.fd01W/System.err:atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)<br>091305:47:48.7321372413966/com.viking.fd01W/System.err:atjava.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:636)
09-13 05:47:48.732 13724-13966/com.viking.fd01 W/System.err: at java.lang.Thread.run(Thread.java:764)
问题原因:

解决方法:

###37.
AndroidRuntime: FATAL EXCEPTION: Thread-8
Process: com.viking.fd01, PID: 2826
java.lang.IllegalStateException: Can’t compress a recycled bitmap
at android.graphics.Bitmap.checkRecycled(Bitmap.java:386)
at android.graphics.Bitmap.compress(Bitmap.java:1237)
at com.viking.utils.Yuv2FaceBitmap.Bitmap2JpgLocal(Yuv2FaceBitmap.java:220)
at com.viking.utils.Utils.saveCameraFace2Local(Utils.java:31)
at com.viking.activity.MainActivity$CompareLoop.loop(MainActivity.java:1109)
at com.guo.android_extend.java.AbsLoop.run(AbsLoop.java:20)

问题原因:

1.使用了已经被释放过内存的对象。

对于Bitmap:

Bitmap bitmap = 一个bitmap对象

使用过程中调用bitmap.recycle()之后,再使用bitmap就会报错。



2.图片裁剪等处理后,按照下面的写法也易报错.

public static boolean Bitmap2JpgLocal(Bitmap bmp, File fileDir, String fileName) {    if (!fileDir.exists()) {        fileDir.mkdir();    }    if (!fileName.endsWith(".jpg")) {        try {            throw new Throwable("file name end with '.jpg'!");        } catch (Throwable throwable) {            throwable.printStackTrace();        }    }    File file = new File(fileDir, fileName);    file.deleteOnExit();    try {        FileOutputStream fos = new FileOutputStream(file);        bmp.compress(Bitmap.CompressFormat.JPEG, 100, fos);        fos.flush();        fos.close();    } catch (FileNotFoundException e) {        e.printStackTrace();        return false;    } catch (IOException e) {        e.printStackTrace();        return false;    }    return true;}

解决方法:

Bitmap idcardbm = idCardPhoto.copy(Bitmap.Config.ARGB_8888,true);
通过copy出一个新的bitmap,再处理.

###38. 外置SD卡读写问题.
首先,Google在Android4.4之后将读写外置SD卡的API全部关闭了, 所以我们无法获取到外置SD路径, 只能通过反射的方式来获取外置SD卡路径

public static String[] getSecondaryStoragePath1(Context mContext) {try {StorageManager sm = (StorageManager) mContext.getSystemService(STORAGE_SERVICE);Method getVolumePathsMethod = StorageManager.class.getMethod("getVolumePaths",null); //获取需要反射的方法String[] paths = (String[]) getVolumePathsMethod.invoke(sm, null); //通过反射方法获取sd路径,paths是数据,可能有多个外部存储设置// second element in paths[] is secondary storage pathLog.e("SDCard", "getSecondaryStoragePath1: "+paths.length+""+paths[0] +"  "+paths[1]);if (paths==null||paths.length<=0){Log.e("SDCard", "getSecondaryStoragePath: storage is err!");return null;}return paths;} catch (Exception e) {Log.e("SDCard", "getSecondaryStoragePath() failed", e);}return null;}

在这之前应该先通过File mSdfile = mContext.getExternalFilesDir(null);在外置sd目录中创建 Android/data/com.viking.fd01/files 目录.

问题原因:Android4.4 Google对外置sd卡写入进行了修改.

解决方法:

###39.

问题原因:

解决方法:

###40.Gradle ‘FaceTrackDemo-master’ project refresh failed
Error:This Gradle plugin requires a newer IDE able to request IDE model level 3. For Android Studio this means version 3.0+

问题原因:

解决方法:gradle.properties 中添加一句
android.injected.build.model.only.versioned = 3

Installation failed with message INSTALL_FAILED_TEST_ONLY: installPackageLI.
It is possible that this issue is resolved by uninstalling an existing version of the apk if it is present, and then re-installing.

WARNING: Uninstalling will remove the application data!

Do you want to uninstall the existing application?

问题原因:

解决方法:

###42.android studio 设置换行位置:setting -> editor -> code style -> java -> wrapping and braces

问题原因:

解决方法:

###43.
10-10 09:27:19.196 1613-1613/com.viking.gt01 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.viking.gt01, PID: 1613
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.viking.gt01/com.viking.gt01.MainActivity}: java.lang.IllegalArgumentException: AppCompat does not support the current theme features: { windowActionBar: false, windowActionBarOverlay: false, android:windowIsFloating: false, windowActionModeOverlay: false, windowNoTitle: false }
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2778)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread H . h a n d l e M e s s a g e ( A c t i v i t y T h r e a d . j a v a : 1589 ) a t a n d r o i d . o s . H a n d l e r . d i s p a t c h M e s s a g e ( H a n d l e r . j a v a : 106 ) a t a n d r o i d . o s . L o o p e r . l o o p ( L o o p e r . j a v a : 164 ) a t a n d r o i d . a p p . A c t i v i t y T h r e a d . m a i n ( A c t i v i t y T h r e a d . j a v a : 6494 ) a t j a v a . l a n g . r e f l e c t . M e t h o d . i n v o k e ( N a t i v e M e t h o d ) a t c o m . a n d r o i d . i n t e r n a l . o s . R u n t i m e I n i t H.handleMessage(ActivityThread.java:1589) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit H.handleMessage(ActivityThread.java:1589)atandroid.os.Handler.dispatchMessage(Handler.java:106)atandroid.os.Looper.loop(Looper.java:164)atandroid.app.ActivityThread.main(ActivityThread.java:6494)atjava.lang.reflect.Method.invoke(NativeMethod)atcom.android.internal.os.RuntimeInitMethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features: { windowActionBar: false, windowActionBarOverlay: false, android:windowIsFloating: false, windowActionModeOverlay: false, windowNoTitle: false }
at android.support.v7.app.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:458)
at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:312)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:277)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at com.viking.gt01.MainActivity.onCreate(MainActivity.java:11)
at android.app.Activity.performCreate(Activity.java:7026)
at android.app.Activity.performCreate(Activity.java:7017)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread H . h a n d l e M e s s a g e ( A c t i v i t y T h r e a d . j a v a : 1589 ) a t a n d r o i d . o s . H a n d l e r . d i s p a t c h M e s s a g e ( H a n d l e r . j a v a : 106 ) a t a n d r o i d . o s . L o o p e r . l o o p ( L o o p e r . j a v a : 164 ) a t a n d r o i d . a p p . A c t i v i t y T h r e a d . m a i n ( A c t i v i t y T h r e a d . j a v a : 6494 ) a t j a v a . l a n g . r e f l e c t . M e t h o d . i n v o k e ( N a t i v e M e t h o d ) a t c o m . a n d r o i d . i n t e r n a l . o s . R u n t i m e I n i t H.handleMessage(ActivityThread.java:1589) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit H.handleMessage(ActivityThread.java:1589)atandroid.os.Handler.dispatchMessage(Handler.java:106)atandroid.os.Looper.loop(Looper.java:164)atandroid.app.ActivityThread.main(ActivityThread.java:6494)atjava.lang.reflect.Method.invoke(NativeMethod)atcom.android.internal.os.RuntimeInitMethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

问题原因: AppTheme 的parent是Theme.AppCompat.NoAcitonBar ,改成如下Theme.AppCompat.Light.NoAcitonBar

解决方法:

###45. DrawerLayout与SurfaceView搭配侧滑显示不完全

问题原因:

解决方法:

drawerlayout.setDrawerListener(new DrawerLayout.SimpleDrawerListener() {@Overridepublic void onDrawerSlide(View drawerView, float slideOffset) {// TODO Auto-generated method stubsuper.onDrawerSlide(drawerView, slideOffset);drawerlayout.bringChildToFront(drawerView);drawerlayout.requestLayout();}});//原文:https://blog.csdn.net/ning_gg/article/details/51003012 

###46. YUV视频数据清晰度检测
C++:

/******************************************************************FunctionName: Vqd_CalcDefinitionDescription:  视频清晰度检测Calls : Input :-------   pGray 单通道图像数据-------   uwImgW图像宽-------   uwImgH图像高Output:return:   U8清晰度指标,范围【0,100】,越大越清晰2016年01月19日建立此函数  *******************************************************************/LOCAL   U8 Vqd_CalcDefinition(U8 *pGray, U16 uwImgW, U16 uwImgH) {U16 i,j;  //u16 无符号short类型U8* pImgHead1 = pGray +uwImgW;  //u8 无符号byte类型U8* pImgHead2 = pGray +uwImgW*2;U32 uwDevSum=0;  //u32 无符号int类型U32 udwCount=0;for (i=1 ; i15){uwDevSum = min(uwDevSum*2,100);}}return uwDevSum;}

JAVA

public class ImageCalc {    /**     * yuv数据清晰度   1-100     * @param yuv yuv数据     * @param with 图片宽度     * @param height 图片高度     * @return     */    public static int CalcDefinition(byte[] yuv, int with, int height) {  //yuv 数据        int pImgHead1 = with;        int pImgHead2 = with * 2;        int uwDevSum  = 0;        int udwCount  = 0;        for (int i = 1; i < height - 1; i += 2) {            for (int j = 1; j < with - 1; j += 2) {                int ucA   = yuv[j + pImgHead1]+128;                int ucB   = yuv[j + 1 + pImgHead1]+128;                int ucC   = yuv[j + pImgHead2]+128;                int ucD   = yuv[j + 1 + pImgHead2]+128;                int ucMax = max(ucA, ucB, ucC, ucD);                int ucMin = min(ucA, ucB, ucC, ucD);                if (ucMax!= 0) {                    uwDevSum += 100 * (ucMax - ucMin) / ucMax;                    udwCount++;                }            }            pImgHead1 += with;            pImgHead2 += with;        }        if (udwCount != 0) {            uwDevSum = uwDevSum / udwCount;            //拉伸区间            if (uwDevSum > 15) {                uwDevSum = minf(uwDevSum * 2, 100);            }        }        return uwDevSum;    }    public static int max(int uca, int ucb, int ucc, int ucd) {        return maxf(maxf(uca, ucb), maxf(ucc, ucd));    }    public static int min(int uca, int ucb, int ucc, int ucd) {        return minf(minf(uca, ucb), minf(ucc, ucd));    }    public static int maxf(int uca, int ucb) {        if (uca > ucb) {            return uca;        } else {            return ucb;        }    }    public static int minf(int uca, int ucb) {        if (uca < ucb) {            return uca;        } else {            return ucb;        }    }    public void sort(int[] a, int low, int high) { //快速排序        int start = low;        int end   = high;        int key   = a[low];        while (end > start) {            //从后往前比较            while (end > start && a[end] >= key)  //如果没有比关键值小的,比较下一个,直到有比关键值小的交换位置,然后又从前往后比较            { end--; }            if (a[end] <= key) {                int temp = a[end];                a[end] = a[start];                a[start] = temp;            }            //从前往后比较            while (end > start && a[start] <= key)//如果没有比关键值大的,比较下一个,直到有比关键值大的交换位置            { start++; }            if (a[start] >= key) {                int temp = a[start];                a[start] = a[end];                a[end] = temp;            }            //此时第一次循环比较结束,关键值的位置已经确定了。左边的值都比关键值小,右边的值都比关键值大,但是两边的顺序还有可能是不一样的,进行下面的递归调用        }        //递归        if (start > low) {            sort(a, low, start - 1);//左边序列。第一个索引位置到关键值索引-1        }        if (end < high) {            sort(a, end + 1, high);//右边序列。从关键值索引+1到最后一个        }    }}

问题原因:

解决方法:

###47.

问题原因:

解决方法:

###48.

问题原因:

解决方法:

###44.

问题原因:

解决方法:

###44.

问题原因:

解决方法:

###44.

问题原因:

解决方法:

###44.

问题原因:

解决方法:

###44.

问题原因:

解决方法:

###44.

问题原因:

解决方法:

###44.

问题原因:

解决方法:

###44.

问题原因:

解决方法:

###44.

问题原因:

解决方法:

###44.

问题原因:

解决方法:

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. Android(安卓)studio SVN提交报错问题:svn: E155010: 'D:\XXX'
  6. Bugly对应用进行升级
  7. Android各版本名称
  8. Android使用apktool进行反编译出现了resource spec: 0x01010543

随机推荐

  1. 移动系统后起之秀渐露颓势:谷歌兄,拉Andr
  2. Notification中更新进度条
  3. android windows下开发环境搭建
  4. Android离线地图
  5. Android(安卓)Studio连接真机没反应
  6. Android中由于设置的背景图片太大导致OOM
  7. android攻略
  8. [置顶] Android上实现仿IOS弹性ScrollVie
  9. android上传文件至服务器(android端+服务
  10. 创建 Cordova/Phonegap for Android 项目