在模拟器上安装apk时,Android INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION

时间:2017-10-29 16:36:57

标签: android

我使用

从命令行创建了一个调试apk(在Windows上)
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import DBSCAN
from sklearn import metrics
#from sklearn.datasets.samples_generator import make_blobs

from sklearn.preprocessing import StandardScaler


def dbFun( _x,_original_vals):
    db = DBSCAN(eps=0.3, min_samples=20).fit(_x)
    core_samples_mask = np.zeros_like(db.labels_, dtype=bool)
    core_samples_mask[db.core_sample_indices_] = True

    labels = db.labels_
    #print(labels)
    n_clusters_ = len(set(labels)) - (1 if -1 else 0)
    print('Estimated number of clusters: %d' % n_clusters_)
    print("Wait plotting clusters.....")
    plotCluster(_x, labels, core_samples_mask, n_clusters_)
    return


def plotCluster( _x, labels, core_samples_mask, n_clusters_):
   unique_labels = set(labels)
   colors = [plt.cm.Spectral(each)
          for each in np.linspace(0, 1, len(unique_labels))]
   for k, col in zip(unique_labels, colors):
      if k == -1:
        # Black used for noise.
         col = [0, 0, 0, 1]

      class_member_mask = (labels == k)

      xy = _x[class_member_mask & core_samples_mask]
      plt.plot(xy[:, 0], xy[:, 1], 'o', markerfacecolor=tuple(col),
             markeredgecolor='k', markersize=14)

      xy = _x[class_member_mask & ~core_samples_mask]
      plt.plot(xy[:, 0], xy[:, 1], 'o', markerfacecolor=tuple(col),
             markeredgecolor='k', markersize=6)

   plt.title('Estimated number of clusters: %d' % n_clusters_)
   plt.show()
   return

_val = []


l1=qgis.utils.iface.activeLayer()

tempdat=[]

import os

for f1 in l1.getFeatures():
    geom=f1.geometry()
    
    g1=str(geom.asPoint())
    g11=g1.replace('(','')
    g111=g11.replace(')','')
  
    tempdat.append(g111)


for abc in tempdat:
    aaa=abc.split(",")
    _val.append([aaa[0],aaa[1]])
print aaa[1]
print aaa[0]

#print(_center)

_val = np.asarray(_val)
_val_original = _val
_val_original =_val_original.astype('float32')
_val = StandardScaler().fit_transform(_val_original)

dbFun(_val, _val_original)
    #_len = len(_center)

当我尝试使用

在模拟器上安装它时
gradlew assembleDebug

我收到以下消息:

adb install app/build/outputs/apk/debug/app-debug.apk

我在一个单独的终端窗口中运行1057 KB/s (419548 bytes in 0.387s) pkg: /data/local/tmp/app-debug.apk Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION] ,它显示在跟踪下方:

adb logcat

我该如何解决这个问题?

我的D/AndroidRuntime( 203): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<< D/AndroidRuntime( 203): CheckJNI is ON D/AndroidRuntime( 203): --- registering native functions --- D/ddm-heap( 203): Got feature list request D/PackageParser( 52): Scanning package: /data/app/vmdl65951.tmp W/ResourceType( 52): Bad string block: string #1 extends to 2847, past end at 68 W/PackageParser( 52): /data/app/vmdl65951.tmp W/PackageParser( 52): java.lang.IndexOutOfBoundsException W/PackageParser( 52): at android.content.res.StringBlock.nativeGetString(Native Method) W/PackageParser( 52): at android.content.res.StringBlock.get(StringBlock.java:81) W/PackageParser( 52): at android.content.res.AssetManager.getPooledString(AssetManager.java:258) W/PackageParser( 52): at android.content.res.TypedArray.loadStringValueAt(TypedArray.java:675) W/PackageParser( 52): at android.content.res.TypedArray.getValueAt(TypedArray.java:659) W/PackageParser( 52): at android.content.res.TypedArray.peekValue(TypedArray.java:620) W/PackageParser( 52): at android.content.pm.PackageParser.parseApplication(PackageParser.java:1351) W/PackageParser( 52): at android.content.pm.PackageParser.parsePackage(PackageParser.java:734) W/PackageParser( 52): at android.content.pm.PackageParser.parsePackage(PackageParser.java:390) W/PackageParser( 52): at com.android.server.PackageManagerService.installPackageLI(PackageManagerService.java:4275) W/PackageParser( 52): at com.android.server.PackageManagerService.access$1600(PackageManagerService.java:109) W/PackageParser( 52): at com.android.server.PackageManagerService$5.run(PackageManagerService.java:3779) W/PackageParser( 52): at android.os.Handler.handleCallback(Handler.java:587) W/PackageParser( 52): at android.os.Handler.dispatchMessage(Handler.java:92) W/PackageParser( 52): at android.os.Looper.loop(Looper.java:123) W/PackageParser( 52): at android.os.HandlerThread.run(HandlerThread.java:60) D/AndroidRuntime( 203): Shutting down VM D/dalvikvm( 203): DestroyJavaVM waiting for non-daemon threads to exit D/dalvikvm( 203): DestroyJavaVM shutting VM down 如下所示:

build.gradle

我的apply plugin: 'com.android.application' android { compileSdkVersion 7 buildToolsVersion "27.0.0" defaultConfig { applicationId "myApp" minSdkVersion 7 targetSdkVersion 7 } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } debug { applicationIdSuffix ".debug" debuggable true } } } 如下所示:

AndroidManifest.xml

1 个答案:

答案 0 :(得分:0)

我认为您应该compileSdkVersion使用targetSdkVersionbuildToolsVersion 27 build.gradle