[Android Q&A, Help & Troubleshooting] Rhiokai:
I started my android project in 4.1 (API level 16) then 4.2 came out so I updated the preferences and AndroidManifest to API level 17. However, when I tried to run my app on my Nexus 4 running 4.2.1, I kept on getting this error in eclipse:

[2012-12-22 19:30:51 - Rhiokai] Installation failed due to invalid APK file!
[2012-12-22 19:30:51 - Rhiokai] Please check logcat output for more details.
[2012-12-22 19:30:51 - Rhiokai] Launch canceled!

I got this in Logcat:

12-22 19:37:29.166: D/AndroidRuntime(18646): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
12-22 19:37:29.166: D/AndroidRuntime(18646): CheckJNI is OFF
12-22 19:37:29.176: D/dalvikvm(18646): Trying to load lib libjavacore.so 0x0
12-22 19:37:29.176: D/dalvikvm(18646): Added shared lib libjavacore.so 0x0
12-22 19:37:29.186: D/dalvikvm(18646): Trying to load lib libnativehelper.so 0x0
12-22 19:37:29.186: D/dalvikvm(18646): Added shared lib libnativehelper.so 0x0
12-22 19:37:29.316: D/AndroidRuntime(18646): Calling main entry com.android.commands.pm.Pm
12-22 19:37:29.326: W/zipro(7371): Unable to open zip '/data/local/tmp/Rhiokai.apk': Permission denied
12-22 19:37:29.326: D/asset(7371): failed to open Zip archive '/data/local/tmp/Rhiokai.apk'
12-22 19:37:29.336: W/PackageParser(7371): Unable to read AndroidManifest.xml of /data/local/tmp/Rhiokai.apk
12-22 19:37:29.336: W/PackageParser(7371): java.io.FileNotFoundException: AndroidManifest.xml
12-22 19:37:29.336: W/PackageParser(7371):	at android.content.res.AssetManager.openXmlAssetNative(Native Method)
12-22 19:37:29.336: W/PackageParser(7371):	at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:487)
12-22 19:37:29.336: W/PackageParser(7371):	at android.content.res.AssetManager.openXmlResourceParser(AssetManager.java:455)
12-22 19:37:29.336: W/PackageParser(7371):	at android.content.pm.PackageParser.parsePackageLite(PackageParser.java:733)
12-22 19:37:29.336: W/PackageParser(7371):	at com.android.defcontainer.DefaultContainerService$1.getMinimalPackageInfo(DefaultContainerService.java:171)
12-22 19:37:29.336: W/PackageParser(7371):	at com.android.internal.app.IMediaContainerService$Stub.onTransact(IMediaContainerService.java:110)
12-22 19:37:29.336: W/PackageParser(7371):	at android.os.Binder.execTransact(Binder.java:351)
12-22 19:37:29.336: W/PackageParser(7371):	at dalvik.system.NativeStart.run(Native Method)
12-22 19:37:29.336: W/DefContainer(7371): Failed to parse package
12-22 19:37:29.336: W/ActivityManager(547): No content provider found for permission revoke: file:///data/local/tmp/Rhiokai.apk
12-22 19:37:29.346: D/dalvikvm(7371): GC_CONCURRENT freed 365K, 5% free 8913K/9308K, paused 3ms+1ms, total 14ms
12-22 19:37:29.476: D/dalvikvm(547): GC_EXPLICIT freed 1757K, 24% free 45762K/59480K, paused 4ms+13ms, total 137ms
12-22 19:37:29.486: D/AndroidRuntime(18646): Shutting down VM
12-22 19:37:29.486: D/dalvikvm(18646): GC_CONCURRENT freed 126K, 22% free 479K/608K, paused 1ms+1ms, total 3ms
12-22 19:37:29.496: D/jdwp(18646): Got wake-up signal, bailing out of select
12-22 19:37:29.496: D/dalvikvm(18646): Debugger has detached; object registry had 1 entries
12-22 19:37:30.197: W/Settings(7332): Setting mobile_data has moved from android.provider.Settings.Secure to android.provider.Settings.Global.
12-22 19:37:32.069: D/dalvikvm(7332): GC_CONCURRENT freed 410K, 6% free 9365K/9908K, paused 6ms+6ms, total 74ms

Sorry the Logcat is so long, I don't know which part is relevant. I've tried cleaning the project, the target SDK version is set to 17 and I changed the Project Build Target to API 17 as well.

If it helps, I've rooted my phone and have clockworkmod on but I don't have a custom kernel.

What do I need to do to fix the APK file and change the permissions?