小编kru*_*ile的帖子

生成的system.img未在模拟器上运行

我想为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的步骤列表,那么它将非常有用.

java linux android android-emulator android-source

12
推荐指数
1
解决办法
634
查看次数

如何使用反向回收视图使Paging库工作?

如何使用最新的分页与无休止的反向回收视图进行聊天?

我有线性布局,反向布局为真:

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)

java android chat android-recyclerview

9
推荐指数
1
解决办法
659
查看次数

SQLite - 跨数据库查询无法正常工作

我想在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中执行跨数据库查询?

database sqlite android android-cursor android-sqlite

6
推荐指数
1
解决办法
230
查看次数