我想为Android电视构建自定义ROM.
我按照AOSP网站上给出的步骤使用以下命令下载了源代码:
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j16 -c
source build/envsetup.sh
lunch aosp_x86-eng
Run Code Online (Sandbox Code Playgroud)
要构建系统映像,我使用以下命令:
make -j16
Run Code Online (Sandbox Code Playgroud)
它使用最新的Q版本来构建:
PLATFORM_VERSION_CODENAME=Q
PLATFORM_VERSION=Q
TARGET_PRODUCT=aosp_x86
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=LiveTv
TARGET_ARCH=x86
TARGET_ARCH_VARIANT=x86
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.4.0-130-generic-x86_64-Ubuntu-16.04.4-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=OC-MR1
OUT_DIR=out
Run Code Online (Sandbox Code Playgroud)
构建总是成功的.system.img
并且ramdisk.img
也是生成的.
我想在模拟器上测试系统映像.我使用下面的命令:
./emulator -avd tvrom -sysdir out/target/product/generic_x86/ -system out/target/product/generic_x86/system.img -ramdisk out/target/product/generic_x86/ramdisk.img -data out/target/product/generic_x86/userdata.img -kernel prebuilts/qemu-kernel/x86/kernel-qemu
Run Code Online (Sandbox Code Playgroud)
avd名称是tvrom,其他参数是我构建的系统映像的路径.
但是在这样做之后,system.img
它不能在模拟器中启动,并且它仍然是黑屏.
此外,终端中存在错误打印:
Segmentation fault (core dumped)
Run Code Online (Sandbox Code Playgroud)
我搜索了它,但没有找到任何解决方案.有人可以帮忙吗?
编辑
如果有人提供了在Android模拟器上闪存并启动最新AOSP_X86或AOSP_X86_64自定义ROM的步骤列表,那么它将非常有用.
如何使用最新的分页与无休止的反向回收视图进行聊天?
我有线性布局,反向布局为真:
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
layoutManager.setReverseLayout(true);
layoutManager.setStackFromEnd(true);
Run Code Online (Sandbox Code Playgroud)
和内部滚动侦听器:
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
int visibleItemCount = layoutManager.getChildCount();
int totalItemCount = layoutManager.getItemCount();
int firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition();
if (!isLoading && !isLastPage) {
if ((visibleItemCount + firstVisibleItemPosition) >= totalItemCount
&& firstVisibleItemPosition >= 0
&& totalItemCount >= PAGE_SIZE) {
loadMoreItems();
}
}
}
Run Code Online (Sandbox Code Playgroud)
获取消息的查询:
SELECT * FROM Message WHERE chatId = :chatId ORDER BY dbId ASC
Run Code Online (Sandbox Code Playgroud)
用于下面的房间;
@Query("SELECT * FROM Message WHERE chatId = …
Run Code Online (Sandbox Code Playgroud) 我想在Android中的SQLite中执行跨数据库查询.我在两个不同的数据库中有两个表.
attach database 'data/data/com.app/databases/db1' as db1;
attach database 'data/data/com.app/databases/db2' as db2;
SELECT db1.tbl1.* FROM db1.tbl1 JOIN db2.tbl2 ON db1.tbl1.primaryKey = db2.tbl2.primaryKey
WHERE db1.tbl1.columnX = ? AND db2.tbl2.columnY = ?
Run Code Online (Sandbox Code Playgroud)
通过Android rawQuery方法调用此查询,如:
Cursor cursor = sqLiteDatabase.rawQuery(selectQuery, new String[]{"1","xyz"});
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
SQLiteException: bind or column index out of range: handle 0xa6259ec8
Run Code Online (Sandbox Code Playgroud)
我检查了查询的语法,这是正确的.是不是可以在Android中执行跨数据库查询?