2015-04-16 11 views
8

Ich arbeite an einer Android-App und alles funktioniert gut, wenn ich es in meinem lokalen System und auf Emulator laufen, aber sobald ich und apk auf meinem Handy zu machen und zu veröffentlichen, stürzt mit Fehler -Fehler bei der Installation von apk - Parsing des Pakets

There was an error parsing the package 

Wie Sie sehen können, habe ich mit den neuesten SDK bin den Aufbau und Build-Tools, und mein Handy die gleiche Version auf API auch ausgeführt wird. Ich habe Untrusted Sources Installation auch erlaubt.

Ich nehme Hilfe von "Erstellen einer Release-Version" Abschnitt this Link. Es erzeugt eine Datei wie - app-release-unsigned.apk in meinem Ordner app/build/outputs/apk. Bitte helfen Sie mit.

Emulator AVD -

Galaxy Nexus, 1 GB RAM, API 22 (Android 5.1.1), CPU x86 

My Phone -

Nexus 5, 2 GB RAM, Android 5.1.1 

build.gradle -

apply plugin: 'android' 
apply plugin: 'com.android.application' 

repositories { 
    mavenCentral() 
    flatDir { 
     dirs 'libs' 
    } 
} 

android { 
    compileSdkVersion 22 // api version 
    buildToolsVersion "22.0.1" // build tools version 

    defaultConfig { 
     applicationId "org.compani.proj" 
     minSdkVersion 8 
     targetSdkVersion 22 // same as compilesdkversion 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    dependencies { 
     //compile project(':android-beacon-library') 
     compile 'org.altbeacon:android-beacon-library:[email protected]' 
    } 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:22.0.0' 
    compile 'com.android.support:recyclerview-v7:21.+' 
    compile 'com.android.support:cardview-v7:21.+' 
    compile 'com.android.support:support-v4:+' 
} 

AndroidManifest.xml -

<uses-sdk 
    android:minSdkVersion="17" 
    android:targetSdkVersion="22" /> 

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.BLUETOOTH"/> 
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> 
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" 
    android:name="MyApp"> 
    <activity 
     android:name="org.compani.proj.MainActivity" 
     android:label="@string/app_name" 
     android:launchMode="singleInstance"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

</application> 

Mitteilung Nachrichten -

23:43:42: Executing external task 'assembleRelease'... 
Configuration on demand is an incubating feature. 
:app:preBuild 
:app:preReleaseBuild 
:app:checkReleaseManifest 
:app:preDebugBuild 
:app:prepareComAndroidSupportAppcompatV72200Library UP-TO-DATE 
:app:prepareComAndroidSupportCardviewV72103Library UP-TO-DATE 
:app:prepareComAndroidSupportRecyclerviewV72103Library UP-TO-DATE 
:app:prepareComAndroidSupportSupportV42200Library UP-TO-DATE 
:app:prepareOrgAltbeaconAndroidBeaconLibrary214Library UP-TO-DATE 
:app:prepareReleaseDependencies 
:app:compileReleaseAidl UP-TO-DATE 
:app:compileReleaseRenderscript UP-TO-DATE 
:app:generateReleaseBuildConfig UP-TO-DATE 
:app:generateReleaseAssets UP-TO-DATE 
:app:mergeReleaseAssets UP-TO-DATE 
:app:generateReleaseResValues UP-TO-DATE 
:app:generateReleaseResources UP-TO-DATE 
:app:mergeReleaseResources UP-TO-DATE 
:app:processReleaseManifest 
:app:processReleaseResources UP-TO-DATE 
:app:generateReleaseSources UP-TO-DATE 
:app:compileReleaseJava UP-TO-DATE 
:app:lintVitalRelease 
:app:compileReleaseNdk UP-TO-DATE 
:app:preDexRelease UP-TO-DATE 
:app:dexRelease UP-TO-DATE 
:app:processReleaseJavaRes UP-TO-DATE 
:app:packageRelease UP-TO-DATE 
:app:assembleRelease 

BUILD SUCCESSFUL 

Total time: 6.309 secs 
23:43:49: External task execution finished 'assembleRelease'. 
+0

Bitte installieren Sie es mit 'adb install' und fügen Sie den Fehlercode es produziert. Ist ein Debug-Build der Anwendung, die auf diesem Gerät installiert ist? Hast du das unsignierte APK vor der Installation unterschrieben? – StenSoft

+0

post logcat für Fehler –

+0

Ich installiere es direkt auf dem Gerät. Es gibt kein logcat. – Sam

Antwort

14

Der erzeugen APK nicht signiert ist (App-Release-unsigned.apk). Sie können kein unsigniertes APK auf einem physischen Gerät installieren. Sie haben zwei Möglichkeiten:

+0

Sie haben Recht. Ich habe diesen Teil vermisst.Also, muss ich noch ein Projekt machen, dann assembleRelease, um unsigned zu generieren? Ich will nur den Prozess etwas besser verstehen. – Sam

+0

Sorry, aber ich verstehe nicht, warum Sie eine unsignierte Apk brauchen? –

+0

Ich frage, da ich nicht sicher bin, wie der Prozess auf Android funktioniert. Also, die generate signierte apk sollte auf Build -> release -> signing richtig achten? – Sam

Verwandte Themen