2

ProGuard 단계없이 스칼라로 작성된 간단한 더미 Android 애플리케이션을 만들고 테스트하려고합니다 (useProguard : = false). /system/framework아직 다른 스칼라로 "ComponentInfo를 인스턴스화 할 수 없습니다"


내가 추진해 왔습니다 스칼라 라이브러리 :
/system/framework/scala-library-2.9.1.jar

과 권한 파일 /system/etc/permissions에 : 권한 XML의
/system/etc/permissions/scala-library-2.9.1.xml


내용 :

,657 여기

592,403,210 내 MainActivity.scala입니다 :

package com.google.summer 

import _root_.android.app.Activity 
import _root_.android.os.Bundle 
import _root_.android.graphics.Typeface 
import _root_.android.text.Html 

class MainActivity extends Activity with TypedActivity { 
    override def onCreate(bundle: Bundle) { 
     super.onCreate(bundle) 
     setContentView(R.layout.main) 

     // my dummy code here 

    } 
} 
다음

AndroidManifest.xml입니다 :

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.google.summer"> 

    <application 
     android:icon="@drawable/android:star_big_on" 
     android:label="@string/app_name" 
     android:debuggable="true"> 

     <activity android:label="@string/app_name" android:name=".MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN"/> 
       <category android:name="android.intent.category.LAUNCHER"/> 
      </intent-filter> 
     </activity> 

     <uses-library android:name="scala-library-2.9.1" /> 
    </application> 

    <uses-sdk android:minSdkVersion="10"/> 
</manifest> 

내가 ProGuard를 사용하지 않고 내 장치에 설치 관리, 그러나 , 내가 그것을 실행하려고하면, 나는 다음과 같은 exc를 얻는다. eption (캡처하여 로그 캣) : 오류가있을 수 있으며 무엇을 해결해야 할 경우

dalvikvm I Zip is good, but no classes.dex inside, and no valid .odex file in the same directory 
dalvikvm I Failed resolving Lcom/google/summer/TypedViewHolder; interface 48 'Lscala/ScalaObject;' 
dalvikvm W Link of class 'Lcom/google/summer/TypedViewHolder;' failed 
dalvikvm I Failed resolving Lcom/google/summer/TypedActivityHolder; interface 30 'Lcom/google/summer/TypedViewHolder;' 
dalvikvm W Link of class 'Lcom/google/summer/TypedActivityHolder;' failed 
dalvikvm I Failed resolving Lcom/google/summer/TypedActivity; interface 19 'Lcom/google/summer/TypedActivityHolder;' 
dalvikvm W Link of class 'Lcom/google/summer/TypedActivity;' failed 
dalvikvm I Failed resolving Lcom/google/summer/MainActivity; interface 18 'Lcom/google/summer/TypedActivity;' 
dalvikvm W Link of class 'Lcom/google/summer/MainActivity;' failed 


FATAL EXCEPTION: main 
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.google.summer/com.google.summer.MainActivity}: java.lang.ClassNotFoundException: com.google.summer.MainActivity in loader dalvik.system.PathClassLoader[/system/framework/scala-library-2.9.1.jar:/data/app/com.google.summer-1.apk] 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1680) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1784) 
    at android.app.ActivityThread.access$1500(ActivityThread.java:123) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:939) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loop(Looper.java:123) 
    at android.app.ActivityThread.main(ActivityThread.java:3835) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:507) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 
    at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.ClassNotFoundException: com.google.summer.MainActivity in loader dalvik.system.PathClassLoader[/system/framework/scala-library-2.9.1.jar:/data/app/com.google.summer-1.apk] 
    at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:551) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
    at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1672) 
    ... 11 more 
    Force finishing activity com.google.summer/.MainActivity 

사람이 알고 있나요? 사전에

감사합니다 : D

BTW, 그것은 밀렸다 스칼라 라이브러리에 문제가 있음을 수 있을까?
Logcat은 scala.ScalaObject을 찾을 수 없다고하지만, 내가 밀어 넣은 단지에 있습니다.

+0

에뮬레이터에서 작동합니까 아니면 거기에서도 실패합니까? –

+0

글쎄, 에뮬레이터를 뿌리 째 뽑거나 스칼라 라이브러리를 에뮬레이터로 푸시 할 수 없기 때문에 거기에서 작동 할 방법은 없지만 의도는 아닙니다. – Lopina

+0

스칼라를 앱용 라이브러리가 아닌 시스템 전체 라이브러리로 추가하고 싶었습니다. 당신이 만드는 일반 자바 애플 리케이션을 배포 할 수 있습니까? SD 카드에 앱을 설치하고 있습니까? (문제가있는 것으로 보입니다) –

답변

2

기기에 새로운 외부 라이브러리를 추가 할 수 없습니다 (예 : 앱간에 공유). 당신이 만드는 모든 응용 프로그램에 스칼라 병을 포함시켜야합니다.

스칼라를 사용할 수있는 사용자 지정 롬을 만들어서 수행 할 수 있지만 앱을 실행하려는 모든 사용자는 해당 사용자 지정 롬이 필요합니다. 별로 실용적이지 않습니다 :)