我为基本手电筒编写了一个Android应用程序。我已经在5个设备上测试了应用程序galaxy s2,note 3,moto g,micromax canvas hd,xolo q800。
应用程序在s2,note 3和canvas hd上正常运行。当我尝试安装使用调试密钥存储区签名的签名apk时,在其余设备中运行,在安装过程中,程序包管理器崩溃了但是创建了应用程序图标,当我点击它时,它会显示一个Toast消息"应用程序未安装"
我发现了一些类似的线程,但指的是我无法解决我的问题。
这是清单文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.flashone"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="18
" />
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" android:permission="android.permission.BIND_APPWIDGET">
<activity
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:name="com.example.flashone.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
编辑:现在又出现了一个问题
并没有改变清单中的任何东西,这是从无处开始的
我的测试设备现在是galaxy s2,这是4.1.2 API 16
[2014-07-28 21:59:12 - FlashOne] Installation error: INSTALL_FAILED_OLDER_SDK
[2014-07-28 21:59:12 - FlashOne] Please check logcat output for more details.
[2014-07-28 21:59:12 - FlashOne] Launch canceled!
logcat显示以下消息
07-28 22:35:08.058: D/AndroidRuntime(539): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
07-28 22:35:08.058: D/AndroidRuntime(539): CheckJNI is ON
07-28 22:35:08.877: D/AndroidRuntime(539): Calling main entry com.android.commands.pm.Pm
07-28 22:35:08.937: W/ActivityManager(91): No content provider found for permission revoke: file:///data/local/tmp/FlashOne.apk
07-28 22:35:08.999: W/ActivityManager(91): No content provider found for permission revoke: file:///data/local/tmp/FlashOne.apk
07-28 22:35:09.007: W/PackageParser(91): /data/app/vmdl156967055.tmp (at Binary XML file line #6): Requires development platform 18 but this is a release platform.
07-28 22:35:09.147: D/dalvikvm(91): GC_EXPLICIT freed 32K, 14% free 14620K/16903K, paused 24ms+9ms
07-28 22:35:09.217: D/AndroidRuntime(539): Shutting down VM
07-28 22:35:09.237: D/dalvikvm(539): GC_CONCURRENT freed 123K, 78% free 466K/2048K, paused 0ms+1ms
07-28 22:35:09.237: D/dalvikvm(539): Debugger has detached; object registry had 1 entries
07-28 22:35:09.257: I/AndroidRuntime(539): NOTE: attach of thread 'Binder Thread #3' failed
答案 0 :(得分:1)
android.hardware.camera
和android.hardware.camera.autofocus
默认声明CAMERA permission
,here(最后一部分)。
我认为您正在从apk而不是Play商店进行安装,因为如果设备没有同时获得这两项功能,您将无法查看应用程序。我认为从未知的来源安装时,包管理器不能很好地处理缺失的功能。
您需要使用&#34; required&#34;声明这两个功能。设置为false(我认为camera
实际上是必需的,autofocus
不是。)
答案 1 :(得分:0)
好的部分问题已经解决了
安装错误:INSTALL_FAILED_OLDER_SDK
错误就在这里
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="18
" />
应该写成
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="18"
/>
只是双引号的位置很重要。