在AOSP中向userdata.img添加文件的正确方法是什么?

时间:2015-05-26 11:35:41

标签: android android-source

我正在开发基于AOSP 5.1.0源代码的ROM。我想添加一个文件夹" abc" (它包含一些文件)到源代码并将文件夹编译成" / data / abc"设备中的路径(Nexus 5)。

到现在为止,我用这种方式来实现它:

1)添加" abc"文件夹到AOSP源文件夹的根目录。

2)在/ packages / apps / TestApp中,在TestApp的Android.mk文件中添加一个应用程序,添加" $(shell cp -rf $(LOCAL_PATH)/../../。 ./abc/ $(TARGET_OUT_DATA)/ abc /)"在“include $(CLEAR_VARS)”后面。 $(TARGET_OUT_DATA)似乎意味着" / data /"设备中的路径。

3)make -j12

4)fastboot -w flashall

以上方式确实完成了这项工作,但在" out \ target \ product \ hammerhead \ data \ abc"中,还有一个" abc" " abc"中的文件夹,这太糟糕了,我不知道发生了什么。然后用" fastboot -w flashall"," / data / abc"文件夹缺少Nexus 5中的许多文件。

我不知道执行" shell cp"在应用程序的Android.mk中是向userdata.img添加文件夹的正确方法,如果没有,那么正确的方法是什么?

2 个答案:

答案 0 :(得分:2)

最后我得到了正确的方法:

fastboot -w flashall 不会闪现userdata.img图片

您必须通过执行 fastboot flash userdata 来显式刷新userdata.img。

答案 1 :(得分:1)

您可以使用$(BUILD_PREBUILT)复制多个文件。 您的Android.mk应如下所示:

f=w.^0.5.*(1-4./(1+4*w.*(X-a).^2))+exp(1i*l*pi)*w.^0.5.*(1-4./(1+4*w.*(X+a).^2));

u(:,1)=f;
figure
plot(X,abs(f))

%--------------------------------------------------------------------------

P=zeros(1,N_Z);
Q=zeros(1,N_Z);
M=zeros(1,N_Z);
H=zeros(1,N_Z);
figure

for n=1:N_Z-1

u(:,n+1)=ifft(fft(u(:,n),N_fx).*exp(-1i*(kx.^2/2)*dZ/2));
u(:,n+1)=exp(1i*dZ*(V+conj(wrev(u(:,n+1))).*u(:,n+1))).*u(:,n+1); 
u(:,n+1)=ifft(fft(u(:,n+1),N_fx).*exp(-1i*(kx.^2/2)*dZ/2));
u(:,n+1)=u(:,n+1).*exp(-(X/(max(X)-1)).^10);
f=u(:,n);
g=conj(wrev(u(:,n)));

P(n)=dX*sum(conj(u(:,n)).*u(:,n));
Q(n)=dX*sum(f.*g);
M(n)=dX*sum(g.*gradient(f,dX)-f.*gradient(g,dX));
H(n)=dX*sum(gradient(f,dX).*gradient(g,dX)-(f.*g).^2);    
end

P(N_Z)=P(N_Z-1);
Q(N_Z)=Q(N_Z-1);
M(N_Z)=M(N_Z-1);
H(N_Z)=H(N_Z-1);

**w_max=5;
dw=0.25;
w=0:dw:w_max;
figure
plot(w,abs(u))**

title('\bf Evolution')
imagesc(Z,X,abs(u))
title('\bf Evolution ')
colorbar
colormap('hot')
xlabel('Z','fontsize',20)
ylabel('X','fontsize',20)
figure

此外,您需要将该模块添加到您的device.mk文件中:

include $(CLEAR_VARS)
LOCAL_IS_HOST_MODULE =
LOCAL_MODULE = abc
LOCAL_MODULE_CLASS = ETC
LOCAL_MODULE_PATH = $(PRODUCT_OUT)/data
LOCAL_MODULE_RELATIVE_PATH =
LOCAL_MODULE_SUFFIX =
LOCAL_MODULE_STEM =
LOCAL_MODULE_STEM_32 =
LOCAL_MODULE_STEM_64 =
LOCAL_SRC_FILES = abc/file1 abc/file2
include $(BUILD_PREBUILT)

注意:可能有更好的方法来复制多个文件(目录)。