Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error on installing apk - parsing the package

I am working on an android app and everything works fine when I build it in my local system and run on emulator, but as soon as I make and release and install apk on my phone, it crashes with error -

There was an error parsing the package

As you can see, I am building with latest SDK and build tools, and my phone is running the same version on API too. I have Untrusted Sources installation allowed too.

I am taking help of "Build a release version" section on this link. It is generating a file like - app-release-unsigned.apk in my app/build/outputs/apk folder. Please help with it.

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:2+@aar'
    }
    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>

Release messages -

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'.
like image 774
Sam Avatar asked Apr 16 '15 17:04

Sam


1 Answers

The generate APK is unsigned (app-release-unsigned.apk). You can't install an unsigned APK on physical device. You have two options:

  • Signing in Release Mode
  • Signing Your App in Android Studio
like image 108
Mattia Maestrini Avatar answered Oct 16 '22 02:10

Mattia Maestrini