2012-04-13 16 views
6

Sto compilando una ROM Android dal sorgente e ho diverse app che vengono compilate, ma in dati/app sul telefono. Sono non installabili tramite le impostazioni del telefono. Voglio che siano impossibili da disinstallare dal telefono e da compilare in system/app al posto di data/app.Fare un'app in Android Source compilare in system/app anziché data/app?

Qualche consiglio?

edit: errore di battitura

+0

Non ho un sacco di esperienza nella compilazione di app con una ROM, ma so che è necessario firmare le app con la firma di sistema per renderle app di sistema. Il seguente link fa il trucco? http://stackoverflow.com/questions/3635101/how-to-sign-android-app-with-system-signature –

+0

Dare un colpo. L'ho aggiunto al tag , spero che sia il posto giusto. Modifica: OOPS aggiungendolo al tag e riprovando – Patches

+0

È inoltre necessario firmare l'app con il tasto corretto, non solo aggiungere quel valore al manifest. –

risposta

2

Ecco un esempio di file di mk che è possibile utilizzare. Nel mio caso l'applicazione è poi costruire in system/app:

LOCAL_PATH:= $(call my-dir) 
include $(CLEAR_VARS) 

LOCAL_MODULE_TAGS := optional 

LOCAL_SRC_FILES := $(call all-java-files-under, src) 

LOCAL_PACKAGE_NAME := package_name 
LOCAL_CERTIFICATE := platform 

include $(BUILD_PACKAGE) 

# Use the folloing include to make our test app 
include $(call all-makefiles-under,$(LOCAL_PATH)) 
+0

Nella build di Android tutte le applicazioni predefinite vanno in system/app e se volessi inviarle in data/app? –

+0

si prega di consultare la mia domanda http://stackoverflow.com/questions/11984572/making-an-app-in-the-android-source-compile-into-data-app-instead-of-system-app –

3

Add:

LOCAL_MODULE_PATH := system/app 
LOCAL_UNINSTALLABLE_MODULE := true 
LOCAL_CERTIFICATE := platform 
0

Con cm_10.2, ho aggiunto la mia app in pacchetti/apps e per impostazione predefinita, mm costruito in/dati/app. Lo volevo in sistema/app. Ha funzionato con l'aggiunta di questo in Android.mk:

LOCAL_MODULE_PATH := $(TARGET_OUT_APPS) 

Ma io non sono sicuro se è un modo pulito di procedere da quando ho scoperto quasi farlo nessuno.

0
LOCAL_PATH:= $(call my-dir) 

include $(CLEAR_VARS) 

LOCAL_MODULE_TAGS := optional 
LOCAL_UNINSTALLABLE_MODULE := true 
LOCAL_MODULE_PATH := $(TARGET_OUT_APPS) 
LOCAL_CERTIFICATE := platform 

LOCAL_SRC_FILES := $(call all-java-files-under, src) 

LOCAL_PACKAGE_NAME := MyTestApp 

LOCAL_PROGUARD_ENABLED := disabled 
LOCAL_PRIVILEGED_MODULE := true 

LOCAL_STATIC_JAVA_LIBRARIES := libarity android-support-v4 

include $(BUILD_PACKAGE) 

include $(call all-makefiles-under,$(LOCAL_PATH))